android 4.4 源码编译,Android 4.4源码编译过程

Android源码下载完后的目录如下:

2014010908245825.jpg

整个代码的大小为:25.559GB。

一、构建系统

如下用于构建Android源码树的指令应用于所有的代码分支,包括master分支。喎?http://www.Bkjia.com/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+PGJyPgo8L3A+CjxwPjEu0aHU8bfW1qc8L3A+CjxwPrm5vajPtc2ztcTSu9Cp0qrH88rH08m9q9Kq0aHU8bHg0uu1xNS0tPrC67XEsOaxvr72tqi1xKGjzai5/c341rdodHRwOi8vc291cmNlLmFuZHJvaWQuY29tL3NvdXJjZS9idWlsZC1udW1iZXJzLmh0bWzAtLLpv7S1scewQW5kcm9pZMv509C1xLfW1qfB0LHtoaO/ydLU0aHU8c/C1Ni6zbm5vajX7tDCtcTUtLT6wuujqLPGzqqhsG1hc3RlcqGxo6mjrNTa1eLW1sfpv/bPwqOstbGz9cq8u6+/4sqxo6y/ydaxvdPKocilwcvWuLaot9bWp7LOyv2hozwvcD4KPHA+PGJyPgo8L3A+CjxwPtK7tanRodTxusPBy7fW1qejrLC01dXI58/CtcTD/MHuwLS9qMGiubm9qM+1zbOho7v5sb61xLm5vajD/MHu0PLB0Mjnz8KjujwvcD4KPHA+PGJyPgo8L3A+CjxwPjIus/XKvLuvPC9wPgo8cD7KudPDZW52c2V0dXAuc2i9xbG+wLSz9cq8u6+7t76zo6zXotLiv8nS1NPDobAuobHX1rf7wLS0+szmc291cmNloaPI58/Co7o8L3A+CjxwPjwvcD4KPHByZSBjbGFzcz0="brush:java;">$source build/envsetup.sh

$ . build/envsetup.sh

且后一种简短格式在文件中使用的更加频繁。

3.选择目标

使用lunch命令来选择哪一种目标来构建。确切的配置可以作为参数传递给命令,如下:

$lunch aosp_arm-eng以上的例子指定了构建一个完成的模拟器,其所有的debugging使能,输入该命令后,

2014010908245826.jpg

若lunch后面没有参数,那么会通过一个目录来让提示让你选择。如下:

2014010908245827.jpg

所有的构建目标是使用BUILD-BUILDTYPE形式,其中BUILD是代码名表示特定的特征结合,如下是部分列表:

2014010908245928.jpg

而BUILDTYPE如下:

2014010908245929.jpg

更好的关于构建和运行在实际硬件上的信息,参考:http://source.android.com/source/building-devices.html

4. 构建代码

使用make构建一切,GNU make可以通过使用-jN参数来处理并行任务。此处的N,根据所用的计算机的硬件的核数来指定,一般N指定为CPU核心的1到2倍。例如在一个dual-5520机器上(2个CPU,每个CPU4个核,每个核2个线程),那么最快的构建是使用make -j16或make -j32。

$make -j4

5.运行

可以在模拟器上运行构建的Android系统,可以flash到设备上,请注意已经使用lunch命令构建的目标。最好不要把构建的目标运行另一个不同的目标上。

1)模拟一个android设备

通过构建过程,模拟器已经自动的加入到了你的路径中了。因此,敲入如下命令来运行模拟器:

$emulator

2)Flash到设备上

为了Flash到设备上,需要使用fastboot,成功构建后,该命令包含在你的路径中。在引导时,要么通过适当的组合键手动放置设备到fastboot模式。或者从shell中输入如下命令进入fastboot模式

$adb reboot bootloader

一旦设备处于fastboot模式,运行:

$fastboot flashall -w-w选项用于擦去设备上的/data部分,对于第一次flash一个特定设备这是有用的,否则不是必需的。

更多的关于在实际硬件上构建和运行的信息,见:http://source.android.com/source/building-devices.html

二、使用ccache

ccache是一个编译器ccache用于C和C++。可以让构建更加快速。在源代码的根目录处,做如下操作:

$export USE_CCACHE=1

$export CCACHE_DIR=//.ccache

$prebuilts/misc/linux-x86/ccache/ccache -M 50G建议的cache大小为50-100G

可以使用如下操作来查看使用的ccache大小

$watch -n1 -d prebuilts/misc/linux-x86/ccache/ccache -s

若使用Ice Cream Sandwich(4.0.x)或更老的版本,需要用prebuilts来代替prebuilts/misc

http://www.dengb.com/Androidjc/685546.htmlwww.dengb.comtruehttp://www.dengb.com/Androidjc/685546.htmlTechArticleAndroid源码下载完后的目录如下: 整个代码的大小为:25.559GB。 一、构建系统 如下用于构建Android源码树的指令应用于所有的代码分支,包括...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值