WEB开发网
开发学院手机开发Android 开发 分享编译 Android 源码的全过程 阅读

分享编译 Android 源码的全过程

 2010-04-12 15:59:00 来源:WEB开发网   
核心提示:$ sudo mv repo ~/open_src/android/bin$ sudo chmod a+x ~/open_src/android/bin/repo5 在源码存放目录android中执行$ ~/open_src/android/bin/repo init -u git://android.git.kern

$ sudo mv repo ~/open_src/android/bin

$ sudo chmod a+x ~/open_src/android/bin/repo

5 在源码存放目录android中执行

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

//中间会提示输入电子邮件什么的,如果你打算要提交patch的话,用google accounts注册过的邮箱

6 在android目录中执行repo sync就可以开始下载源码了.

我们也可以从其他地方把源码复制到android目录, 而我正是这么做的.

7 编译源码, 并得到~/open_src/android/out 目录

在命令行执行make命令:

$make

这是一个很漫长的过程, 等吧......

8 测试运行

8.1 先设置环境变量:

打开~/.bashrc文件, 并在最后添加下面两行:

export PATH=$PATH:~/open_src/android/out/host/linux-x86/bin

export ANDROID_PRODUCT_OUT=~/open_src/android/out/target/product/generic

8.2 运行模拟器:

emulator --debug-init -skin QVGA-L //可能会提示unknown option: --debug-init, 去掉--debug-init即可

或者直接执行emulator, 这样使用的是默认的皮肤

如果最后能进入到系统并看到一个大时钟, 说明就大功告成了.

9 后续编译:

先在android目录下执行

$ . build/envsetup.sh

然后你就会多出几个可用的命令。在改了Contacts联系人项目后,可以简单的执行一下命令来单独编译这个部分:

$mmm packages/apps/Contacts/

为了可以直接测试改动,需要生成新的system.img,在android目录下执行:

$ make snod

当然,如果你改动的是emulator或者其它外围相关的,而非系统内部的东西,就不只是要重新生成system.img了

以下是编译成功后的最后一些输出:

Install: out/target/product/generic/system/xbin/scp

Notice file: system/extras/showmap/NOTICE -- out/target/product/generic/obj/NOTICE_FILES/src//system/xbin/showmap.txt

Install: out/target/product/generic/system/xbin/showmap

Notice file: system/extras/showslab/NOTICE --

Tags:分享 编译 Android

编辑录入:coldstar [复制链接] [打 印]
赞助商链接