Fedora 8 linux下编译android 1.5 SDK

昏天暗地的花了两天时间, 终于在Fedora 8 上成功编译了android 1.5, 和大家分享一下编译的经验:)

一 准备编译环境

Fedora 8 已经包含了编译android 时所需的大部分开发包, 我们还需要安装gitgperf.

开始终端, 敲入下面的命令:

$ yum install git-core

$ yum install gperf

Fedora 8 自带的java 开发包是JDK6, 而编译nadroid 时需要JDK5, 否则在make sdk 时会出现错误.

可以从sun 网站下载 jdk-1_5_0_18-linux-i586-rpm.bin , 我下载到了opt 目录下.

在终端上敲入如下命令:

$ cd /opt

$ chmod a+x jdk-1_5_0_18-linux-i586-rpm.bin

$ ./jdk-1_5_0_18-linux-i586-rpm.bin

文件会在/opt 下自动生成jdk1.5.0_18 子目录, 并解压.

然后需要设置JAVA 主目录, 编辑/etc/bashrc 文件:

$ vi /etc/bashrc

点击inserti, 进入insert 模式, 在文件末尾添加,

export JAVA_HOME=/opt/jdk.1.5.0_18

export PATH=$JAVA_HOME/bin:$PATH

export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$CLASSPATH

点击esc, 进入命令模式, 输入":wq", 然后敲入reboot 重新启动.

启动后, 开启终端, 输入"java -version", 如果提示当前版本为1.5.0_18, 则安装成功.

二 下载源代码

先要下载repo, 如果以root 用户登陆, 则可以将repo 下载/root/bin 目录下( 也可以下载/home/bin 目录下, 但要将目

录加入到PATH):

$ curl http://android.git.kernel.org/repo > /root/bin/repo

$ chmod a+x /root/bin/repo

然后在home 下建立mydroid 文件夹, 当然可以在其他你喜欢的目录下建立:

$ cd /home

$ mkdir mydroid

$ cd mydroid

输入以下命令:

$ repo init -u git://android.git.kernel.org/platform/manifest.git

不出意外的话, 完成后应该显示"repo initialized in /mydroid".

最后输入"repo sync" 开始下载源代码.

工程很大, 只是下载代码的话需要留出2G 以上的空间, 如果还要编译那就需要留出6G 以上的空间.

三 编译

下载完成后进入源代码目录, 开始编译, 如下:

$ cd /home/mydroid

$ make

完成后会生成system.img 等文件.

由于android1.5 版本SDK 的目录结构有所变化, 所以ADT0.8.0 不能再使用了, 我们需要自己编译ADT:

$ ./development/tools/eclipse/scripts/build_server.sh /home

"/home" 是编译好 ADT 后的输出目录 , 可以指定其他你喜欢的目录,在这个过程中可能会自动下载

eclipse, 貌似是由于没有设定 ECLIPSE_HOME 环境变量的原因 , 不过没有细究 :). 最后需要生成linux

下的SDK, 如下:

$ make sdk

成功后, 会在./out/host/linux-x86 下生成sdk 文件夹, 其中包含了我们需要的SDK.

注意将SDK 目录加入到PATH, 修改/etc/bashrc, 加入

export PATH=/home/mydroid/out/host/linux-x86sdk/android-sdk_eng.root_linux-x86/tools:$PATH

linux 上运行

需要卸载eclipse 上原来的ADT0.8.0( 如何卸载就不说了, 不过要注意卸载干净,ADT Editor 也一并卸载).

启动android1.5emulator 时需要avd 文件, 先输入"android list targets" 取得target ID, 例如为1, 然后,

$ android create avd -n my_avd -t 1

创建avd 文件后, 即可启动emulator,

$ emulator -avd my_avd

启动很慢, 要耐心等待.

五 生成windowSDK

需要将mydroid 目录和编译的ADT, 复制到windows, 我是在window xp 下使用 explore2fs 读取linux 分区进行的

复制.然后安装cygwin, 注意默认的文本类型要设置为DOS/text, 这些开发包autoconf, bison, curl, flex, gcc,

g++,git,gnupg, make, mingw-zlib, python, zip, unzip 都要选上, 不要选择readline.

打开development/build/tools/make_windows_sdk.sh 文件,

找到"SDK_NUMBER=`echo $filename | sed -n 's/^.*_/([^_./]/+/)_[^_.]*/..*$//1/p'`", 修改为

#SDK_NUMBER=`echo $filename | sed -n 's/^.*_/([^_./]/+/)_[^_.]*/..*$//1/p'`

SDK_NUMBER=1.5

然后在cygwin 中输入以下命令:

$ cd mydroid
$ mkdir -p out/host/windows-x86/sdk
$ development/ build / tools / make_windows_sdk.sh out / host / linux - x86 / sdk / android-sdk_eng.root_linux-x86.zip out / host / windows - x86 / sdk

同样在eclipse 中安装我们编译的ADT, 指定sdk 目录. 启动emulator 之前还要生成avd 文件.

你可能感兴趣的:(Fedora 8 linux下编译android 1.5 SDK)