android 源码编译作用,Android 源码编译经验分享, 以及如何使用Android studio 阅读整个源码...

android 源码编译最好的教程就是google 官方步骤一点一点的操作,http://source.android.com/ 。

但是在实际的过程中总是存在一些坑。

下载或编译源码 建议使用64位 ubuntu12.04 或者 14.04 这样可以保证和官方的环境一致 ,避免出现不可预料的问题,window 或mac 系统建议考虑使用虚拟机vbox 安装ubuntu。

1.前期准备

在下载源码前需要对环境做一些配置, 首先需要安装jdk,但需要注意:

编译 android 5.x的源码需要安装jdk1.7.x 版本

编译 android 6.x的源码需要安装jdk1.8.x 版本

需要注意的是,安装必要依赖库的过程中很有可能报错,比如gcc 版本问题,cpp 版本问题等。

最好解决方式是确保你的软件源 /etc/apt/sources.list 是正确的。

下面是我的sources.list 的全部内容(ubuntu 12.04)

deb http://archive.ubuntu.com/ubuntu/ trusty main restricted universe multiverse

# deb-src http://archive.ubuntu.com/ubuntu/ precise main restricted universe multiverse

deb http://archive.ubuntu.com/ubuntu/ trusty-updates main restricted universe multiverse

# deb-src http://archive.ubuntu.com/ubuntu/ precise-updates main restricted universe multiverse

deb http://archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse

# deb-src http://archive.ubuntu.com/ubuntu/ precise-backports main restricted universe multiverse

# deb http://archive.ubuntu.com/ubuntu/ trusty-proposed main restricted universe multiverse

# deb-src http://archive.ubuntu.com/ubuntu/ precise-proposed main restricted universe multiverse

deb http://security.ubuntu.com/ubuntu trusty-security main restricted universe multiverse

# deb-src http://security.ubuntu.com/ubuntu precise-security main restricted universe multiverse

deb http://archive.canonical.com/ubuntu trusty partner

# deb-src http://archive.canonical.com/ubuntu precise partner

deb http://extras.ubuntu.com/ubuntu trusty main

# deb-src http://extras.ubuntu.com/ubuntu precise main

2.下载源码

android 官方建议是用repo 同步分支代码,但是在国内的速度你懂得, 所以建议直接下载打包好的android 源码,当然前提要保证源码的来源安全可靠(想想前一段时间xcode漏洞)。

还有一种方式就是在国外的vps上下载源码,打包传回国内,这样至少能保证源码真实可靠。

3.编译源码

大概需要3,4个小时 具体看机器配置。

编译完成后即可导出 android studio 工程 可以愉快的使用android studio 阅读整个代码了。

具体步骤:

执行

make idegen && development/tools/idegen/idegen.sh

如果你编译的是 aosp 分支 可能会出现

Exception in thread “main” java.io.FileNotFoundException: ./out/target/product/generic/obj/GYP/shared_intermediates/res.java (Is a directory)

解决方案是 改一下res.java 的名字

mv out/target/product/hammerhead/obj/GYP/shared_intermediates/res.java out/target/product/hammerhead/obj/GYP/shared_intermediates/res.j

重新执行

make idegen && development/tools/idegen/idegen.sh

等到编译成功后可以在改回来。

4.相关的下载

下面是我使用的 android 5.1.1_rc1 的源码

android.ipr 也在里面,可以不用编译直接导入android studio 阅读源码(相信很多人不需要编译源码,只是希望能方便的阅读android 源码)。

云盘地址

后面我也会继续分享一些 最新 android 源码的下载地址。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值