首先安装工具:
sudo apt-get install git-core curl?
sudo apt-get install gcc g++ flex bison gperf libsdl1.2-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev valgrind?
?
创建一个存放Andorid的目录,然后在里面建个bin的目录。?
- mkdir?android??
- cd?android??
- mkdir?bin??
- cd?bin??
- curl?http://android.git.kernel.org/repo?>?repo??
- sudo?chmod?a+x?repo//修改权限??
- cd?..//返回上一层:返回到android目录下??
然后在Android目录下创建一个源码的保存目录,我的名字为androidsrc。?
mkdir androidsrc?
cd androidsrc?
../bin/repo init -u git://android.git.kernel.org/platform/manifest.git?
进行设置完成后,开始同步代码?
../bin/repo sync?
加载android 环境变量:?
- sudo?gedit?/etc/profile??
- export?ANDROID_JAVA_HOME=$JAVA_HOME??
- export?PATH=$PATH:/home/heji/android/androidsrc/out/host/linux-x86/bin??
- export?ANDROID_PRODUCT_OUT=/home/heji/android/androidsrc/out/target/product/generic??
Java代码?
- sudo?gedit?/home/heji/.bashrc??
- export?PATH=$PATH:~/android/androidsrc/out/host/linux-x86/bin??
- export?ANDROID_PRODUCT_OUT=~/android/androidsrc/out/target/product/generic??
源码编译:?
下载完后进入androidsrc目录,make,编译源码,编译SDK是make sdk?
启动模拟器:?
进入androidsrc目录下,输入命令:emulator?
模块编译:?
先在androidsrc目录下执行:. build/envsetup.sh(必须)?
mmm packages/apps/Contacts/编译 Contacts?
目录out/target/product/generic/system/app/Contacts.apk?
为了可以直接测试改动,需要生成新的system.img,在android目录下执行:?
make snod(androidsrc目录下)?
当然,如果你改动的是emulator或者其它外围相关的,而非系统内部的东西,就不只是要重新生成system.img了?
转自:http://android.group.iteye.com/group/blog/591066