Mac 中下载阅读 Android 源码
准备工作:创建区分大小写的 APFS 宗卷
国内使用 Android Source 官方的下载方式有点慢,所以通常建议使用国内的 AOSP 镜像,一般是 中科大的镜像 或者 清华大学的镜像 ,本文使用的是清华大学的镜像。
先下载 repo 工具:
PATH=~/bin:$PATH curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo chmod a+x ~/bin/repo
然后有两种下载方式,分别适合不同场景。
1.1 下载最新版本的源码
如果需要下载最新版本的源码,建议使用镜像中的每月初始化包。先下载初始化包,其中包含了 .repo
目录,然后解压再 repo sync
一次就完成了。
推荐使用 axel 工具下载,速度快,支持断点续传。
axel -n 3 https://mirrors.tuna.tsinghua.edu.cn/aosp-monthly/aosp-latest.tar # 解压得到 aosp 目录 tar xvf aosp-latest.tar cd aosp # 同步一次 repo sync # 或 repo sync -l 仅 checkout .repo 中的代码
1.2 下载具体某版本的源码
如果需要下载具体某版本的源码,使用官方的方式,不过下载源替换成清华大学镜像的地址。具体 Android 版本见 列表
mkdir WORKING_DIRECTORY cd WORKING_DIRECTORY # 初始化仓库 repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-4.0.1_r1 --depth=1 # 只同步当前分支代码 repo sync -c
这种方式下载下来的代码会小很多,推荐这种方式。
2. 导入 Android 源码到 Android Studio 中阅读
Mac 下无法使用 Source Insight,所以我是使用 Android Studio 来阅读的,Android 源码中已经提供了导入到 Eclipse 和 Android Studio 的配置,需要使用 development/tools/idegen.sh
工具。
因为我只想阅读 Android 源码,不需要编译,所以使用其他人编译好的 idegen.jar 。
mv idegen.jar aosp/out/host/darwin-x86/framework/ # 在默认终端中运行 idegen.sh,因为 sh 只支持 bash development/tools/idegen/idegen.sh
然后在 aosp 目录可以看到 android.ipr
和 android.iml
文件,接下来编辑 android.iml
文件,把不需要导入的项目注释掉,节省导入时间。
最后在 Android Studio 中打开 android.ipr
即可。
欢迎加入Android进阶交流群;701740775。进群可免费领取一份最新技术大纲和Android进阶资料。请备注csdn

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
深入解析 Flutter 初始化流程
在调研 Flutter 动态化方案的时候,需要了解 Flutter 加载 dart 产物的流程,于是梳理了一遍 FLutter 的初始化流程 flutter的源码下载地址在 github 上可以找到,具体地址:github-flutter/engine FLutterMain的初始化 先从 Android 的入口开始看 在FlutterAppliation的onCreate中调用了 FlutterMain.startInitialization(this); 跟进去我们会看到调用了startInitialization方法,最后会顺序调用这几个方法 initConfig(applicationContext); initAot(applicationContext); initResources(applicationContext); 我们查看initResources方法如图 这里我们可以看到实际加载了assets里面的flutter资源。并且会把资源 copy 到本地的�路径。这里不做深究。FlutterMan的初始化基本包括了 初始化配置 初始化 AOT 编译 初始化资源 3 ...
- 下一篇
Gradle更小、更快构建APP的奇淫技巧
本文已获得原作者授权同意,翻译以及转载原文链接:Build your Android app Faster and Smaller than ever作者:Jirawatee译文链接:Gradle更小、更快构建APP的奇淫技巧翻译人:MrTrying 上个月,我有机会在 LINE DEVELOPER DAY 2018 发表演讲。对我来说是特殊的时刻,因为这是我第一次在日本演讲。在成为演讲者之前,LINE 活动的工作人员必须向全球团队提交他们的演讲。 我提交的主题是关于如何更快构建 Android App,以及如何生成更小的 APK 的一些技巧。这些提示来自于我的经验和 Google I/O,特别是在 Developer Build Clinic 中收集到的。Developer Build Clinic 是 Android Studio 团队为改进构建性能方面提供的一对一咨询。 在本文中,我想与你分享这些技巧和 app,给你带来的 app 是 LINE MAN Driver。 对于不知道 LINE MAN 是什么的人来说,它是一个按需助理提供专业服务的 app,包括食物配送、便利店货物配...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7安装Docker,走上虚拟化容器引擎之路
- SpringBoot2全家桶,快速入门学习开发网站教程
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS8编译安装MySQL8.0.19
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- 设置Eclipse缩进为4个空格,增强代码规范
- SpringBoot2整合Thymeleaf,官方推荐html解决方案