Android系统源代码的下载与编译
来源:互联网 发布:windows官方下载网站 编辑:程序博客网 时间:2024/04/29 13:34
转载地址:http://blog.csdn.net/byhook/article/details/52270688
简书地址
http://www.jianshu.com/p/aeaceda41798
目录
- 1.简介
- 2.官方同步源代码
- 3.镜像同步源代码
- 4.已有源代码更新
- 5.编译源代码
- 5.1编译Android 4.1.2
- 5.2编译Android 5.1.1
- 6.参考
1.简介
之前二次开发Launcher的时候有同步过官方Android 4.1.2的源代码,遗憾当时没有记录下载过程,现在重新温习一下,其实也比较简单。
2.官方同步源代码
官网网址 需要翻墙
2.1新建一个用于存放下载脚本文件的目录
- 1
- 2
- 1
- 2
2.2下载Repo脚本文件
- 1
- 2
- 1
- 2
2.3创建用于存放Android源代码的目录
- 1
- 2
- 1
- 2
2.4初始化
- 1
- 1
上述命令会要求Repo下载最新的Android源代码,也就是master分支,如果想下载其他分支
- 1
- 1
2.5同步Android源代码
- 1
- 1
下载过程保持网络通畅,笔者网络较慢,同步了快一整天。
3.镜像同步源代码
- 对于没有翻墙的用户,可以使用清华大学的镜像。
https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/
3.1.1 同上述步骤,新建一个用于存放下载脚本文件的目录
- 1
- 2
- 1
- 2
3.1.2 下载Repo
- 1
- 2
- 1
- 2
3.1.3 修改Repo文件
~/bin/repo
- 1
- 2
- 3
- 1
- 2
- 3
3.1.4 创建用于存放Android源代码的目录
- 1
- 2
- 1
- 2
3.1.5 同步源代码
- 1
- 2
- 1
- 2
- 由于首次同步需要下载 24GB 数据,过程中任何网络故障都可能造成同步失败,建议直接使用初始化包进行初始化。
3.2.1下载初始包
- 1
- 2
- 3
- 4
- 5
- 6
- 1
- 2
- 3
- 4
- 5
- 6
3.2.2选择版本同步
- 1
- 2
- 1
- 2
下载好了就是下图
源代码目录含义:
注意:
查看所有分支
- 1
- 2
- 1
- 2
如果想切换到其它分支可以重新执行
- 1
- 2
- 1
- 2
4.已有源代码更新
如果手上已有Android系统源代码,可以通过代理远程更新,不过速度可能会比较慢。另外还可以
4.1修改~/bin/repo文件
- 1
- 2
- 3
- 1
- 2
- 3
4.2修改源代码目录.repo/manifests.Git/config
- 1
- 2
- 3
- 1
- 2
- 3
4.3修改源代码目录.repo/manifest.xml
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
最后直接同步即可
- 1
- 1
5.1编译Android4.1.2
笔者下载的是Android 4.1.2源代码。
默认的源代码仅能在64位机器上编译。编译过程有很多坑,要有心里准备。
5.1.1进入源码目录初始化编译环境
- 1
- 1
5.1.2选择目标
- 1
- 1
设置编译目标为full-eng,表示正对所有的移动设备,Android模拟器有效,并打开所有的调试选项。
只执行lunch命令,会出现对应的选项
5.1.3编译Android源代码
make命令只会利用一个CPU核进行编译,如果是多核CPU,为了缩短时间,可以加上-jn参数。
注意:
- 1
- 2
- 3
- 4
- 1
- 2
- 3
- 4
编译过程你很可能会碰到如下问题
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 1
- 2
- 3
- 4
- 5
- 6
- 7
建议提前安装好下列必要依赖
- 1
- 1
最后开始编译
- 1
- 1
笔者笔记本编译花了接近3个小时
5.2编译Android5.1.1
源代码的下载参考上述步骤
环境配置
- 1
- 2
- 3
- 1
- 2
- 3
配置过程同上,编译过程中如果出现
- 1
- 2
- 1
- 2
建议更换JDK为openjdk 1.7
- 1
- 1
如果出现
- 1
- 1
直接给文件加上执行权限,笔者是直接在源码目录
- 1
- 1
笔者编译完大概也是3个多小时,过程跟4.12编译差不多
启动模拟器
- 1
- 1
如图
注意:几个很有用的命令。
- 1
- 2
- 3
- 4
- 1
- 2
- 3
- 4
6.参考
https://source.android.com/source/downloading.html
https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/
http://blog.csdn.net/michaelpp/article/details/22801953
http://blog.csdn.net/ambulong/article/details/51627115
《Android 深度探索(卷1):HAL与驱动开发》
- Android系统源代码的下载与编译
- Android系统源代码的下载与编译
- Android系统源代码的下载与编译
- Android系统源代码的下载与编译
- Android系统源代码的下载与编译
- Android系统源代码的下载与编译过程总结
- Android源代码下载与编译
- Android源代码下载与编译
- Android-x86入门之--源代码的下载与编译
- Android-x86的源代码下载方法与编译过程
- Android系统源代码的下载
- Android内核源代码下载与编译
- Android系统源代码编译—[2]下载源代码
- Android源代码的下载、编译和运行
- Android源代码的下载和编译
- Android源代码的下载和编译
- Android源代码的下载,编译和运行
- Android系统源代码下载
- 周志华《机器学习》课后习题解答系列(五):Ch4.4
- iOS----轻松掌握AFN网络顶级框架
- Android通用流行框架汇总
- 运维需要关心的数据有哪些?
- 1041. 考试座位号(15)
- Android系统源代码的下载与编译
- RS485收发的3种典型电路-重点-自动收发电路
- 【bzoj2733】[HNOI2012]永无乡
- mysql 获取当前日期及格式化
- VT / Console / Xterm escape sequence
- Android-popupwindow详解
- android 应用组件[通用 Intent---检索特定类型的文件] 十一
- rabbitmq可靠发送的自动重试机制
- jQuery.post() 函数详解