Ubantu16.04进行Android 8.0源码编译
程序员文章站
2022-04-10 22:07:04
**分为4个流程**> 1. 源码下载> 2. 构建编译环境> 3. 编译源码> 4. 运行### 源码下载#### 安装git并且配置```//安装gitsudo apt-get install git//配置git名称和邮箱git config --global user.name "your ... ......
分为4个流程
- 源码下载
- 构建编译环境
- 编译源码
- 运行
源码下载
安装git并且配置
//安装git
sudo apt-get install git
//配置git名称和邮箱
git config --global user.name "your name"
git config --global user.email "XXX@XXX.com"
创建repo的bin目录和源码目录
-
创建repo的bin目录
midir ~/bin
-
创建源码目录
midir ~/source
安装repo
由于在采用网上常见的安装repo方法时,出现了Cannot get http://gerrit.googlesource.com/git-repo/clone.bundle
异常,通过网上搜索,原因是repo需要更新自身项目时,连接不上项目本身的git仓库,在此,采取了手动拉取repo最新项目的方式
-
从git上拉取
repo项目
git clone https://gerrit-googlesource.lug.ustc.edu.cn/git-repo
将
git-repo
里面的repo文件
复制到~/bin目录
在
~/source
目录新建.repo
文件夹,把git-repo
重命名为repo
复制到.repo
目录下-
将
~/bin/repo
添加到环境变量,并赋予权限//赋予权限 chmod a+x ~/bin/repo //添加到环境变量 将export REPO=~/bin 添加到~/.bash_profile ///让配置文件生效 source ~/.bash_profile
下载源码
初始化仓库
cd到~/source
目录,执行以下命令
repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest
或者这个命令
repo init -u git://aosp.tuna.tsinghua.edu.cn/aosp/platform/manifest
两者实现的效果一致,仅仅只是协议不同.
如果执行该命令的过程中,如果提示无法连接到 gerrit.googlesource.com,那么我们只需要编辑 ~/bin/repo
文件,找到REPO_URL这一行,然后将其内容修改为:
REPO_URL = 'https://gerrit-google.tuna.tsinghua.edu.cn/git-repo'
然后重新执行上述命令即可.
补充说明
不带参数的manifest命令用于获取master上最新的代码,但是可以通过-b参数指定获取某个特定的android版本,比如我们想要获取android-4.0.1_r1分支,那么命令如下:
repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-4.0.1_r1
(AOSP项目当前所有的分支列表参看:分支列表)
同步代码
命令如下
repo sync