一、 配置环境 1. 磁盘需要6G以上剩余空间 2. Linux系统 Ubuntu 6.06以上版本,我用的是buntu 8.04,具体请见下篇文档《ubuntu系统的使用》
|
一、 1. 2. Ubuntu 6.06 以上版本,我用的是 buntu 8.04 ,具体请见下篇文档《 ubuntu 系统的使用》 3. 4. |
Python (Python 2.4 以上版本 )
从 http://www.python.org/download/ 下载 2.4 以上版本
$ tar xvzf python-2.4.5.tgz
$ cd python-2.4.5/
$ ./configure
$ make; make install
6.
依赖的 deb 包
$ sudo apt-get install flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl
其中 flex bison build-essential zip curl 可以从光盘安装
其余 gperf libsdl-dev libesd0-dev libwxgtk2.6-dev 需要从网上安装,它们还依赖一些安装包,所以要用 apt-get 下载,不要直接下 deb 包 安装
7.
调试工具
$ sudo apt-get install valgrind
二、
下载及编译运行 android 源码
1.
下载安装脚本
$ wget http://android.git.kernel.org/repo
$ chmod 777 repo
$ cp repo /bin/
| 2. 用安装脚本下载源码 $ mkdir android_code $ cd android_code $ repo init -u git://android.git.kernel.org/platform/manifest.git $ repo sync 以上命令是下载最新版本,也可以下载其它版本 如我买的 手机,在设置 -> 关于手机 -> 固件版本中看到是 1.5 ,所以下载 1.5 版本,方法如下 $ repo init -u git://android.git.kernel.org/platform/manifest.git -b android-1.5r3 $ repo sync // 此 后会长时间下载 3. 编译 1) 正常编译 $ cd android_code $ make 映像编译成功后会在目录 android_code/src/out/target/product/generic 下产生一些image文件: ramdisk.img system.img userdata.img 2) 可能出现的 问题及解决方法 1. make 若提示找不到 -lncurses ,则需要做以下链接 ln –s /lib/libncurses.so.5 /lib/libncurses.so |
$ export ANDROID_JAVA_HOME=$JAVA_HOME
3.
若提提示找不到zlib.h, 则运行如下命令安装zlib开发包
$ sudo apt-get install zlib1g-dev
4.
下了一个最新版本后显示说只能使用java-1.5版本,于是从1.6版本降回 1.5
$ sudo apt-get install sun-java5-jdk flex
$ sudo update-java-alternatives -s java-1.5.0-sun
5.
如果报错 “compression requires the missing zlib module” 可能是 python 找不到 zlib 库
这时需要先安装 zlib 库 , 然后重编 python, 并取代当前版本 python
$ sudo apt-get install zlib1g-dev
$ python2.6 –version
可看到当 前版本 , 下载当前版本 , 重新编译安装
$ tar xvzf python-2.6.2.tgz
$ cd python-2.6.2/
$ ./configure –prefix=/usr/local
$ make; make install
3)
编译sdk
此时SDK产生于此目录下:android_code/out/host/linux-x86/sdk/
此包如同下载的sdk包,可供eclipse使 用,注意把它移动其它位置使用,否则一编译其它应用,它就被删除掉了
4)
编译不同 Android 硬件平台对应版本
需要在 make 前先针对设备进行设置,形如:
$ choosecombo 1 1 8 3
使用不同参数,编译结果存存储的目录不同
默认包生成目录: android_code/out/target/product/qsd8250_surf/system/app/*.apk
以上选项包生成目录: android_code/out/target/product/generic/system/app/*.apk
4.
运行
1)
运行普通的虚拟器 emulator
emulator 的路径 是:
/home/xieyan/bin/android_code/out/ host/linux-x86/bin/emulator
设置环境变量 export PATH=$PATH:android_src/out/host/linux-x86/bin
$ . build/envsetup.sh
$ partner_setup
$ emulator
2)
指定 img 运行
$ export
ANDROID_PRODUCT_OUT=/home/xieyan/bin/android_code/out/target/product/generic
$ emulator -image system.img -data userdata.img -ramdisk ramdisk.img常用的源码文件
1.
frameworks/base/core/java/android/widget/ 下边
Android 系统控件的实现
2.
package/apps
普通应用程序的实现
3.
out/target/product/generic/system/apps/*.apk
安装包生成的位置
四、
参考
1.
官方网站的安装说明
http://source.android.com/download
本文详细介绍如何配置环境以编译Android源代码,包括所需软件版本、依赖安装、编译步骤及常见问题解决方法。


被折叠的 条评论
为什么被折叠?



