昏天暗地的花了两天时间, 终于在Fedora 8 上成功编译了android 1.5, 和你们分享一下编译的经验:)java
Fedora 8 已经包含了编译android 时所需的大部分开发包, 咱们还须要安装git 和gperf.python
开始终端, 敲入下面的命令:linux
$ yum install git-coreandroid
$ yum install gperfgit
Fedora 8 自带的java 开发包是JDK6, 而编译nadroid 时须要JDK5, 不然在make sdk 时会出现错误.windows
能够从sun 网站下载 jdk-1_5_0_18-linux-i586-rpm.bin , 我下载到了opt 目录下.bash
在终端上敲入以下命令:eclipse
$ cd /optcurl
$ chmod a+x jdk-1_5_0_18-linux-i586-rpm.binflex
$ ./jdk-1_5_0_18-linux-i586-rpm.bin
文件会在/opt 下自动生成jdk1.5.0_18 子目录, 并解压.
而后须要设置JAVA 主目录, 编辑/etc/bashrc 文件:
$ vi /etc/bashrc
点击insert 或i 键, 进入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
须要卸载eclipse 上原来的ADT0.8.0( 如何卸载就不说了, 不过要注意卸载干净,ADT Editor 也一并卸载).
启动android1.5 的emulator 时须要avd 文件, 先输入"android list targets" 取得target ID, 例如为1, 而后,
$ android create avd -n my_avd -t 1
建立avd 文件后, 便可启动emulator,
$ emulator -avd my_avd
启动很慢, 要耐心等待.
须要将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 文件.