Mac 中下载阅读 Android 源码

简介: 准备工作:创建区分大小写的 APFS 宗卷国内使用 Android Source 官方的下载方式有点慢,所以通常建议使用国内的 AOSP 镜像,一般是 中科大的镜像 或者 清华大学的镜像 ,本文使用的是清华大学的镜像。

准备工作:创建区分大小写的 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

相关文章
|
15天前
|
JSON 编译器 开发工具
VS Code阅读Android源码
VS Code阅读Android源码
23 1
|
15天前
|
敏捷开发 Java 机器人
云效产品使用常见问题之打包后的Android应用获取下载地址失败如何解决
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
1月前
|
XML Java Android开发
Android实现自定义进度条(源码+解析)
Android实现自定义进度条(源码+解析)
57 1
|
1月前
|
Java Android开发
Android反编译查看源码
Android反编译查看源码
30 0
|
1月前
|
编解码 Android开发
Android获取设备各项信息(设备id、ip地址、设备名称、运行商、品牌、型号、分辨率、处理器、国家码、系统语言、网络类型、oaid、android版本、操作系统版本、mac地址、应用程序签名..)1
Android获取设备各项信息(设备id、ip地址、设备名称、运行商、品牌、型号、分辨率、处理器、国家码、系统语言、网络类型、oaid、android版本、操作系统版本、mac地址、应用程序签名..)
56 1
|
14天前
|
Java Android开发
Android系统 修改无源码普通应用为默认Launcher和隐藏Settings中应用信息图标
Android系统 修改无源码普通应用为默认Launcher和隐藏Settings中应用信息图标
32 0
|
1月前
|
编解码 开发工具 Android开发
Android获取设备各项信息(设备id、ip地址、设备名称、运行商、品牌、型号、分辨率、处理器、国家码、系统语言、网络类型、oaid、android版本、操作系统版本、mac地址、应用程序签名..)2
Android获取设备各项信息(设备id、ip地址、设备名称、运行商、品牌、型号、分辨率、处理器、国家码、系统语言、网络类型、oaid、android版本、操作系统版本、mac地址、应用程序签名..)2
31 2
|
1天前
|
Java Android开发
Android 设置系统时区的源码追踪
Android 设置系统时区的源码追踪
5 1
|
14天前
|
Linux 开发工具 Android开发
Docker系列(1)安装Linux系统编译Android源码
Docker系列(1)安装Linux系统编译Android源码
19 0
|
14天前
|
安全 Java Shell
Android13 adb input 调试命令使用和源码解析
Android13 adb input 调试命令使用和源码解析
23 0