Android源代码下载与编译 - 2020

1.下载repo工具

到清华mirror下载repo

curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -o repo

chmod +x repo

设置更新源:

export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/'

2.下载Android

因为Android的源码越来越大,repo sync失败的概率也越来越高。

所以我们可以避开使用repo sync的方式,而采用下载预下载包的方式来实现:

wget -c https://mirrors.tuna.tsinghua.edu.cn/aosp-monthly/aosp-latest.tar # 下载初始化包

tar xf aosp-latest.tar

cd AOSP # 解压得到的 AOSP 工程目录

# 这时 ls 的话什么也看不到,因为只有一个隐藏的 .repo 目录

#查看分支

cd .repo/manifests

git branch -a

#选择需要同步的版本

repo init -b android-9.0.0_r55

repo sync # 正常同步一遍即可得到完整目录

# 或

repo sync -l #仅checkout代码

#加载具体模块

repo sync platform/prebuilts/clang/host/darwin-x86

3.编译代码

配置编译环境

sudo apt-get install libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-dev g++-multilib

sudo apt-get install -y git flex bison gperf build-essential libncurses5-dev:i386

sudo apt-get install tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386

sudo apt-get install dpkg-dev libsdl1.2-dev libesd0-dev

sudo apt-get install git-core gnupg flex bison gperf build-essential

sudo apt-get install zip curl zlib1g-dev gcc-multilib g++-multilib

sudo apt-get install libc6-dev-i386

sudo apt-get install lib32ncurses5-dev x11proto-core-dev libx11-dev

sudo apt-get install libgl1-mesa-dev libxml2-utils xsltproc unzip m4

sudo apt-get install lib32z-dev ccache

编译执行

. build/envsetup.sh

lunch #选择编译版本

make -j16 #编译

#make -j4 2>&1 | tee build.log 保存编译记录

make clobber #清除

启动模拟器

4.下载和编译Android内核源码

git clone https://aosp.tuna.tsinghua.edu.cn/kernel/msm.git

cd msm

git branch -a

git checkout remotes/origin/android-goldfish-3.4

5.使用Android Studio 查看源代码

mmm development/tools/idegen/

./development/tools/idegen/idegen.sh

Android Studio 打开android.irp

参考

android源码下载与编译,Android源码下载并编译相关推荐

  1. 【Android 安装包优化】WebP 应用 ( libwebp 源码下载 | Android.mk 和 Application.mk 构建脚本修改 | libwebp 函数库编译 )

    文章目录 一. libwebp 源码下载 二. libwebp 源码编译脚本修改 三. libwebp 函数库编译 四.参考资料 一. libwebp 源码下载 Google 提供了一系列的 WebP ...

  2. Ubuntu 12.04(64位)下载并编译 Android 4.1 源码[只有2条命令]

    2019独角兽企业重金招聘Python工程师标准>>> Ubuntu 12.04(64位)下载并编译 Android 4.1 源码[只有2条命令] ================= ...

  3. Android FrameWork学习(一)Android 7 0系统源码下载 编译

    最近计划着研究下 Android 7.0 的系统源码,之前也没做过什么记录,这次正好将学习的内容记录下来,方便以后复习巩固. 既然要学习我们的系统源码,那我们第一步要做的就是下载源码并进行编译了. # ...

  4. 如何下载Android源码(非常详细,含自动恢复下载,编译,运行模拟器说明)

    今天终于把代码下载完成,特此开一篇博文记录一下.上图: 为了下载这些源码,历时5天5夜,说为什么这么长时间,是因为太容易中断了,有时候下一晚上可能就一直没在下,在你入睡的时候它就自己断了,趁着这个周末 ...

  5. ubuntu 11.10下载和编译Android源码

    ubuntu 11.10下载和编译Android源码 由衷感谢网上的各个博主的文章,给了小弟我莫大的帮助.这里呢,小弟也把自己的经历记录下来,以供大家参考^^.这篇应该算是零基础.从无到有的流程介绍了 ...

  6. linux编译android源码,ubuntu16.04 Android源码下载编译

    本次编译源码的电脑为Ubuntu 16.04,4核 + 4G内存. 注. 对于电脑配置低的建议不要编译7.0以上的版本,就像我这台电脑,基本编译7.0以上都会报内存不足问题,因为在7.0版以上andr ...

  7. Android FrameWork学习(一)Android 7.0系统源码下载\编译

    重点内容 转载. http://blog.csdn.net/cjpx00008/article/details/60474883 硬件环境要求 1. 编译环境 按照官方的说法,编译Android 2. ...

  8. linux3.10.46源码下载,Ubuntu11.10下编译android源码4.0.3

    1.初始化编译环境 软件需求: Python2.5-2.7,可以http://www.python.org/download/下载(Ubuntu11.10自带). JDK6:编译Gingerbread ...

  9. win10最新下载编译Android源码的简易方法分享(已亲测)

    win10最新下载编译Android源码的简易方法分享(已亲测) 准备至少150G的硬盘空间 win+R 输入control 打开程序与功能-启用或关闭Windows功能 勾选"适用于Lin ...

最新文章

  1. SQL查询四舍五入 解决方法
  2. 学校机房项目交换机的配置:
  3. 一步一步学Linq to sql(七):并发与事务
  4. 无监督构建词库:更快更好的新词发现算法
  5. 如何选择主机操作系统?
  6. 普罗米修斯监控系统_基于Prometheus和Grafana的监控平台 - 环境搭建
  7. python执行shell脚本、执行mongodb_mongodb执行js脚本(一)---shell执行
  8. 数据科学和人工智能技术笔记 十一、线性回归
  9. java 时间日期视频_40-日期和时间-JAVA和C#语法比较 - 视频教程 - 北盟网校 - 专注原创教学第一站...
  10. 自制 require 函数:让浏览器轻松实现 js 文件按需加载
  11. 技术领导者携力为数据中心和其它市场带来开放的加速架构
  12. (Java) Md5Utils
  13. unity开发罗技G29方向盘(制作操作汽车)
  14. Java程序员的第一个Python小程序:京东畅销书榜爬虫
  15. 【HAVENT原创】Spring RestTemplate 工具类
  16. 国务院发展研究中心发布《中国云计算产业发展与应用白皮书》| 附下载
  17. 结巴(jieba)分词的使用-Java实现
  18. 论文摘要和引言的区别
  19. 手机无线网络需要服务器,一台手机能连两个WiFi吗?
  20. 怎么快速调节EDIUS中声音的淡入淡出?

热门文章

  1. 10 个 GitHub 上最火的程序员简历项目,2021 金三银四必备!
  2. linux fedora 35 彻底卸载idea2021.2.2
  3. Scala基于Akka模拟Spark Master Worker进程间通信(一):Worker向Master注册
  4. markword用于标记锁的位数
  5. 对用户密码进行md5加密的代码实现
  6. 【例子】外键约束的创建及例子
  7. 二叉树的四种遍历方式(递归和非递归双重实现)
  8. MySQL事物(详解并发问题和隔离级别)(小白也能懂哦)
  9. 你所需要的MySQL检索语句(DQL)都在这儿(小白都能懂的哦)
  10. python中lines是什么类型_python里的splitlines详解