<漫漫Android路>AOSP源码获取编译及问题处理

漫漫Android路---1.AOSP源码获取编译及导入

  • 写在前面
  • 环境准备
  • AOSP源码获取
    • 1.Repo下载配置
    • 2.Git安装及配置
    • 3.AOSP获取
  • AOSP源码编译
    • 1.安装编译依赖
    • 2.开始执行编译
      • 2.1 初始化环境
      • 2.2 选择编译目标
      • 2.3 开始编译镜像
    • 3.编译相关问题
      • 3.1 Java与Python环境变量引起的
      • 3.2 flex编译引起的问题
        • 分析日志
        • 解决方案
  • AOSP源码导入AS
    • 1.编译生成idegen.jar
    • 2.生成 android.ipr 和 android.iml
    • 3.AndroidStudio打开AOSP源码

写在前面

年轻时候的他,发际线尤在,互联网某厂开发Android多年,退三四线某城市苟且
空有撸码双手,却无处安放,子曰温故而知新可以为师矣…故记录此系列以防失能

环境准备

  • 1.Ubuntu22.04(700G+8核+8G DDR4)
  • 2.VMware® Workstation 16 Pro

AOSP源码获取

AOSP源码较为庞大,相关各模块均是基于git工具进行项目管理与代码提交,整个源码是基于多个git目录分模块整合的
Google基于Python开发了辅助开发者进行多个项目管理的工具Repo,Repo就是封装了git命令的python脚本

1.Repo下载配置

# 在home下创建bin文件夹
mkdir ~/bin     

# 把bin文件夹加入环境变量的  																								
PATH=~/bin:$PATH

#下载repo脚本    																						
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo  

#添加权限	
chmod a+x ~/bin/repo      																				

若提示curl提示需要安装

sudo apt install curl

2.Git安装及配置

sudo apt-get install git 
git config --global user.name YourName
git config --global user.email [email protected]

3.AOSP获取

由于某些不可控的网络因素,需要从清华源去获取对应的AOSP源码

https://mirrors.tuna.tsinghua.edu.cn/aosp-monthly/aosp-latest.tar
AOSP项目所有的分支列表:代号、标记和 Build 号 | Android 开源项目 | Android Open Source Project

具体流程如下:

# 讲代码包下载到当前目录
wget https://mirrors.tuna.tsinghua.edu.cn/aosp-monthly/aosp-latest.tar

# 解压对应的压缩包得到aosp源码目录
tar xf aosp-latest.tar

# 进入源码目录
cd aosp

# 初始化仓库
repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest

# repo制定android版本,末尾的-b android-9.0.0_r46用于指定具体的源码的版本
repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-9.0.0_r46

# 同步源码,正常同步后即可获得完整目录
# 同步中提示无法连接到 gerrit.googlesource.com
# 需要修改~/bin/repo文件
# 找到REPO_URL,修改为https://mirrors.tuna.tsinghua.edu.cn/git/git-repo
repo sync

# 遇到同步失败,可以将如下内容复制到shell脚本中(遇到错误,让循环同步源码)
repo sync -j4
while [ $? -ne 0 ] 
do 
    repo syn

你可能感兴趣的:(漫漫Android路,android,git)