mirror of
https://github.com/feicong/rom-course.git
synced 2025-08-29 18:54:56 +00:00
更新2.3 & 2.4
This commit is contained in:
parent
da552dd968
commit
f20fb545a5
@ -138,11 +138,13 @@ pip install pytest
|
|||||||
到这里,Ubuntu系统上的AOSP编译开发环境就补步准备好了。
|
到这里,Ubuntu系统上的AOSP编译开发环境就补步准备好了。
|
||||||
|
|
||||||
|
|
||||||
### 2.3 如何选择源码版本
|
### 2.3 源码拉取与同步
|
||||||
|
|
||||||
在开始拉取代码前,首选需要了解自己需要编译的AOSP分支版本,可以参考官网对版本的说明链接。https://source.android.com/docs/setup/about/build-numbers?hl=zh-cn
|
在开始拉取代码前,首选需要了解自己需要编译的AOSP分支版本,可以参考官网对版本的说明链接。https://source.android.com/docs/setup/about/build-numbers?hl=zh-cn
|
||||||
|
|
||||||
然后根据需求,比如想要在Android10的基础上进行二次开发,那么就找到对应的版本描述,根据下图,可以看到各个版本号关联的代码分支,Android版本,支持哪些设备。
|
#### 2.3.1 分支选择策略
|
||||||
|
|
||||||
|
根据需求,比如想要在Android10的基础上进行二次开发,那么就找到对应的版本描述,根据下图,可以看到各个版本号关联的代码分支,Android版本,支持哪些设备。
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
@ -158,11 +160,12 @@ pip install pytest
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
### 2.3.1 编译
|
|
||||||
|
|
||||||
上面知道了需要的目标分支,接下来的步骤是拉取代码。
|
#### 2.3.2 repo配置
|
||||||
|
|
||||||
AOSP官方使用`repo`管理项目。`repo`是一个以`git`为基础包装的代码版本管理工具,内部是由`python`脚本构成的,对`git`命令进行包装,方便管理大型的项目。下面开始拉取代码。
|
AOSP官方使用`repo`管理项目。`repo`是一个以`git`为基础包装的代码版本管理工具,内部是由`python`脚本构成的,对`git`命令进行包装,方便管理大型的项目。
|
||||||
|
|
||||||
|
repo配置前,需要先安装与配置好`git`。执行如下命令:
|
||||||
|
|
||||||
```
|
```
|
||||||
// 安装git
|
// 安装git
|
||||||
@ -171,21 +174,32 @@ sudo apt-get install git
|
|||||||
//设置git身份
|
//设置git身份
|
||||||
git config --global user.email "xxxx@qq.com"
|
git config --global user.email "xxxx@qq.com"
|
||||||
git config --global user.name "xxxx"
|
git config --global user.name "xxxx"
|
||||||
|
```
|
||||||
|
|
||||||
// 安装curl
|
接着,下载配置repo。执行:
|
||||||
sudo apt-get install curl
|
|
||||||
|
|
||||||
|
```
|
||||||
// 创建bin目录,并加入PATH
|
// 创建bin目录,并加入PATH
|
||||||
mkdir ~/bin
|
mkdir ~/bin
|
||||||
PATH=~/bin:$PATH
|
PATH=~/bin:$PATH
|
||||||
|
|
||||||
|
// 安装curl
|
||||||
|
sudo apt-get install curl
|
||||||
|
|
||||||
// 下载repo,并设置权限
|
// 下载repo,并设置权限
|
||||||
curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo > ~/bin/repo
|
curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo > ~/bin/repo
|
||||||
chmod a+x ~/bin/repo
|
chmod a+x ~/bin/repo
|
||||||
|
|
||||||
// 设置使用国内源拉取代码
|
// 设置使用国内源拉取代码
|
||||||
export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/'
|
export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/'
|
||||||
|
```
|
||||||
|
|
||||||
|
#### 2.3.3 源码拉取与同步
|
||||||
|
|
||||||
|
上面知道了需要的目标分支,接下来的步骤是拉取代码。执行如下命令:
|
||||||
|
|
||||||
|
|
||||||
|
```
|
||||||
// 创建源码存放的目录
|
// 创建源码存放的目录
|
||||||
mkdir aosp_12 && cd aosp_12
|
mkdir aosp_12 && cd aosp_12
|
||||||
|
|
||||||
@ -212,7 +226,15 @@ repo sync -c -j16
|
|||||||
repo sync -c -j$(nproc --all)
|
repo sync -c -j$(nproc --all)
|
||||||
```
|
```
|
||||||
|
|
||||||
代码同步完成后,会提示`Success`,如果失败了,就重新拉取即可,多拉取几次后,基本都能同步成功。接下来,开始安装编译的底层依赖。
|
代码同步完成后,会提示`Success`,如果失败了,就重新拉取即可,多拉取几次后,基本都能同步成功。
|
||||||
|
|
||||||
|
### 2.4 系统编译
|
||||||
|
|
||||||
|
接下来,开始安装编译的底层依赖。
|
||||||
|
|
||||||
|
#### 2.4.1 AOSP编译依赖库安装
|
||||||
|
|
||||||
|
执行下面的命令,安装相关依赖:
|
||||||
|
|
||||||
```
|
```
|
||||||
// AOSP编译的相关依赖安装
|
// AOSP编译的相关依赖安装
|
||||||
@ -222,6 +244,8 @@ sudo apt-get install -y git-core gnupg flex bison build-essential \
|
|||||||
fontconfig libncurses5 procps rsync libsqlite3-0
|
fontconfig libncurses5 procps rsync libsqlite3-0
|
||||||
```
|
```
|
||||||
|
|
||||||
|
#### 2.4.2 系统编译
|
||||||
|
|
||||||
注意:编译AOSP需要大量的磁盘空间,通常300G的空间足够存放代码与编译输出的结果。如果你希望将输出的结果存放在其它目录。这一点通过设置`OUT_DIR`环境变量来调整编译结果的输出目录。如下所示,
|
注意:编译AOSP需要大量的磁盘空间,通常300G的空间足够存放代码与编译输出的结果。如果你希望将输出的结果存放在其它目录。这一点通过设置`OUT_DIR`环境变量来调整编译结果的输出目录。如下所示,
|
||||||
|
|
||||||
```
|
```
|
||||||
|
5
目录.md
5
目录.md
@ -18,7 +18,12 @@
|
|||||||
### 2.2.1 Windows环境
|
### 2.2.1 Windows环境
|
||||||
### 2.2.2 Linux环境
|
### 2.2.2 Linux环境
|
||||||
### 2.3 源码拉取与同步
|
### 2.3 源码拉取与同步
|
||||||
|
#### 2.3.1 分支选择策略
|
||||||
|
#### 2.3.2 repo配置
|
||||||
|
#### 2.3.3 源码拉取与同步
|
||||||
### 2.4 系统编译
|
### 2.4 系统编译
|
||||||
|
#### 2.4.1 AOSP编译依赖库安装
|
||||||
|
#### 2.4.2 系统编译
|
||||||
### 2.5 模块编译
|
### 2.5 模块编译
|
||||||
### 2.6 内核编译
|
### 2.6 内核编译
|
||||||
### 2.7 刷机
|
### 2.7 刷机
|
||||||
|
Loading…
x
Reference in New Issue
Block a user