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

相关文章
|
3月前
|
Ubuntu 开发工具 Android开发
Repo下载AOSP源码:基于ubuntu22.04 环境配置,android-12.0.0_r32
本文介绍了在基于Ubuntu 22.04的环境下配置Python 3.9、安装repo工具、下载和同步AOSP源码包以及处理repo同步错误的详细步骤。
230 0
Repo下载AOSP源码:基于ubuntu22.04 环境配置,android-12.0.0_r32
|
26天前
|
Java 程序员 开发工具
Android|修复阿里云播放器下载不回调的问题
虽然 GC 带来了很多便利,但在实际编码时,我们也需要注意对象的生命周期管理,该存活的存活,该释放的释放,避免因为 GC 导致的问题。
31 2
|
3月前
|
开发工具 git 索引
repo sync 更新源码 android-12.0.0_r34, fatal: 不能重置索引文件至版本 ‘v2.27^0‘。
本文描述了在更新AOSP 12源码时遇到的repo同步错误,并提供了通过手动git pull更新repo工具来解决这一问题的方法。
125 1
|
3月前
|
Android开发 Docker 容器
docker中编译android aosp源码,出现Build sandboxing disabled due to nsjail error
在使用Docker编译Android AOSP源码时,如果遇到"Build sandboxing disabled due to nsjail error"的错误,可以通过在docker run命令中添加`--privileged`参数来解决权限不足的问题。
659 1
|
3月前
|
开发工具 uml git
AOSP源码下载方法,解决repo sync错误:android-13.0.0_r82
本文分享了下载AOSP源码的方法,包括如何使用repo工具和处理常见的repo sync错误,以及配置Python环境以确保顺利同步特定版本的AOSP代码。
450 0
AOSP源码下载方法,解决repo sync错误:android-13.0.0_r82
|
3月前
|
Java Android开发 芯片
使用Android Studio导入Android源码:基于全志H713 AOSP,方便解决编译、编码问题
本文介绍了如何将基于全志H713芯片的AOSP Android源码导入Android Studio以解决编译和编码问题,通过操作步骤的详细说明,展示了在Android Studio中利用代码提示和补全功能快速定位并修复编译错误的方法。
137 0
使用Android Studio导入Android源码:基于全志H713 AOSP,方便解决编译、编码问题
|
3月前
|
Android开发
我的Android 进阶修炼(1): AOSP源码根目录结构
本文介绍了AOSP源码的根目录结构,提供了基于MTK9269 Android 9.0源码的目录说明,帮助读者了解AOSP源码的组织方式和各目录的功能。
179 0
我的Android 进阶修炼(1): AOSP源码根目录结构
|
3月前
|
存储 监控 数据库
Android经典实战之OkDownload的文件分段下载及合成原理
本文介绍了 OkDownload,一个高效的 Android 下载引擎,支持多线程下载、断点续传等功能。文章详细描述了文件分段下载及合成原理,包括任务创建、断点续传、并行下载等步骤,并展示了如何通过多种机制保证下载的稳定性和完整性。
110 0
|
3月前
|
开发工具 Android开发 git
全志H713 Android 11 :给AOSP源码,新增一个Product
本文介绍了在全志H713 Android 11平台上新增名为myboard的产品的步骤,包括创建新的device目录、编辑配置文件、新增内核配置、记录差异列表以及编译kernel和Android系统的详细过程。
110 0