Android源码下载
上一篇讲环境配置,环境配置完之后就可以下载源码,但是下载源码和编译对硬件也有一定的要求, 源码下载只有有100G左右,编译之后也有50~60G,并且编译非常耗内存和交换空间,所以硬件配置要好
- 硬盘至少250G,建议512G
- 内存最少16G,建议32G以上
- 交换空间至少10G,建议32G Ubuntu增加Swap交换空间大小
下载源码
1、初始化仓库
> repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-13.0.0_r12
2、同步下载代码, -jx 后面是线程数,cup核数X2。漫长的等待...
repo sync -j8
源码编译
1、进入源码根目录,初始化编码命令环境
source build/envsetup.sh
2、指定编译目标平台
lunch
-或者 lunch sdk_phone_x86_64
3.选择对应平台的序列号,这里注意:Android12之后如果是模拟器,需要选择sdk开头的,要不然编译完找不到.img文件。切记!切记!
lunch
4、执行编译命令 -jx为线程数。漫长的等待...
make -j8
5、启动模拟器看看编译成功了没有。如果不是模拟器目标版本的不能执行此命令
emulator
在Android studio中打开源码
首先说明一下,如果不执行下面步骤,在Android studio中打开源码,将一直停留在index ...的进度条中,并且代码不能够点击跳转查看引用。
1、初始化源码环境命令
source build/envsetup.sh
2、源码根目录执行如下命令 ,生成idegen.jar
mmm development/tools/idegen/
3、 源码根目录下执行
sudo development/tools/idegen/idegen.sh
4、修改android.ipr和android.iml 的文件读写权限,文件默认为只读权限,修改权限后,我们修改android.iml文件,可以自定义只加载哪些模块,这样子在导入整个源码过程中,速度会快一点
# android.iml (记录项目所包含的module、依赖关系、SDK版本等等,类似一个XML文件)
# android.ipr (工程的具体配置,代码以及依赖的lib等信息,类似于Visual Studio的sln文件)
# 也是在工程源码根目录下执行如下命令
sudo chmod 777 android.iml
sudo chmod 777 android.ipr
5、Android studio打开 android.ipr文件,这个过程会耗用一点时间,固态盘 30分钟左右。机械盘2小时或者更长