在linux环境中,开发android主机环境包括以下需求:
git工具
repo工具
java的jdk
主机编译工具
在ubuntu主机上通常需要安装以下的包:
sudo apt-get install git-core gnupg sun-java5-jdk flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl
libncurses5-dev zlib1g-dev
其中安装sun-java5-jdk所需的源:
deb http://tw.archive.ubuntu.com/ubuntu/ jaunty main restricted universe multiverse
deb-src http://tw.archive.ubuntu.com/ubuntu/ jaunty main restricted universe multiverse
安装repo:
sudo curl http://android.git.kernel.org/repo > ~/bin/repo
chmod a+x ~/bin/repo
将~/bin/加入环境变量
或者
$ wget
http://android.git.kernel.org/repo
$ chmod 777 repo
$ cp repo /bin/
用安装脚本下载源码
$ 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
//
此后会长时间下载
编译
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
2.
make
若提示找不到
run-java-tool
,则需要设置java
的安装路径
$ 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
$ make 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