欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Ubantu16.04进行Android 8.0源码编译

程序员文章站 2022-07-02 16:25:51
**分为4个流程**> 1. 源码下载> 2. 构建编译环境> 3. 编译源码> 4. 运行### 源码下载#### 安装git并且配置```//安装gitsudo apt-get install git//配置git名称和邮箱git config --global user.name "your ... ......

分为4个流程

  1. 源码下载
  2. 构建编译环境
  3. 编译源码
  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目录和源码目录

  1. 创建repo的bin目录

    midir ~/bin
  2. 创建源码目录

    midir ~/source

安装repo

由于在采用网上常见的安装repo方法时,出现了Cannot get http://gerrit.googlesource.com/git-repo/clone.bundle异常,通过网上搜索,原因是repo需要更新自身项目时,连接不上项目本身的git仓库,在此,采取了手动拉取repo最新项目的方式

  1. 从git上拉取repo项目

    git clone https://gerrit-googlesource.lug.ustc.edu.cn/git-repo
  2. git-repo里面的repo文件复制到~/bin目录

  3. ~/source目录新建.repo文件夹,把git-repo重命名为repo复制到.repo目录下

  4. ~/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