Android AOSP源码编译——AOSP下载(一)

一、电脑配置

Ubuntu16.04 + 16G,硬盘的大小最好大于300G (我这边是找了个win电脑装了双系统 没有使用虚拟机的方式)
二、基础环境配置

1、安装git

bash 复制代码
sudo apt install git

配置git email和name

bash 复制代码
git config --global user.email "you@example.com"
git config --global user.name "Your Name"

2、安装依赖工具(需要确认的就一直y就好)

bash 复制代码
sudo apt install git-core libssl-dev libffi-dev gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev libz-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip

3、安装python

执行 python --version 可以看到ubuntu自带的python版本是Python 2.7.12,这里我们需要再安装一个python3

这里我是在下载文件夹打开终端执行下面命令进行下载

bash 复制代码
wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tgz

下载完成后解压

bash 复制代码
tar xvf Python-3.7.1.tgz

进入解压后的文件夹,编译安装python3

bash 复制代码
./configure
sudo make install

配置update-alternatives(用于处理 Linux 系统中软件版本的切换,使其多版本共存)

bash 复制代码
sudo update-alternatives --install /usr/bin/python python python的安装地址 权重号

我这边根据安装地址执行下面命令

bash 复制代码
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 2
sudo update-alternatives --install /usr/bin/python python /usr/local/bin/python3.7 3

现在python2和python3都加入到update-alternatives工具了。

然后可以使用 sudo update-alternatives --config python来选择python版本

4、安装openjdk 8

bash 复制代码
sudo apt-get install openjdk-8-jdk

到这里我们的基本环境配置已经完成了,接下来开始下载并编译AOSP 源码。

三、下载AOSP源码

参考中科大AOSP镜像使用文档:https://mirrors.ustc.edu.cn/help/aosp.html

1、切换到用户目录下:cd ~

2、按照AOSP镜像使用文档输入命令

bash 复制代码
mkdir ~/bin
PATH=~/bin:$PATH
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo

如果在执行curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo的时候失败了可以直接通过浏览器下载,复制到bin/下面也是那一样的。

接着执行

bash 复制代码
mkdir aosp
cd aosp

指定版本代码进行仓库初始化

bash 复制代码
repo init -u git://mirrors.ustc.edu.cn/aosp/platform/manifest -b android-11.0.0_r45

如果提示无法连接到 gerrit.googlesource.com
可以按照文档编辑 ~/bin/repo,把 REPO_URL 一行替换成下面的:REPO_URL = 'https://gerrit-googlesource.proxy.ustclug.org/git-repo'
再次执行初始化仓库命令,会发现出现server certificate verification failed,如下
这时候我们可以关闭git的SSL校验

bash 复制代码
git config --global http.sslverify false
git config --global https.sslverify false

然后再次执行初始化仓库命令,需要y的直接y就好。

最后执行repo sync完成源码下载,下载的过程比较慢,如果中途失败可以多尝试几次。
到这里我们的源码就下载完成了,接下来就是对源码进行编译了

相关推荐
q***577420 分钟前
MySql的慢查询(慢日志)
android·mysql·adb
JavaNoober1 小时前
Android 前台服务 "Bad Notification" 崩溃机制分析文档
android
城东米粉儿1 小时前
关于ObjectAnimator
android
zhangphil2 小时前
Android渲染线程Render Thread的RenderNode与DisplayList,引用Bitmap及Open GL纹理上传GPU
android
火柴就是我3 小时前
从头写一个自己的app
android·前端·flutter
lichong9514 小时前
XLog debug 开启打印日志,release 关闭打印日志
android·java·前端
用户69371750013845 小时前
14.Kotlin 类:类的形态(一):抽象类 (Abstract Class)
android·后端·kotlin
火柴就是我5 小时前
NekoBoxForAndroid 编译libcore.aar
android
Kaede66 小时前
MySQL中如何使用命令行修改root密码
android·mysql·adb
明君879977 小时前
Flutter 图纸标注功能的实现:踩坑与架构设计
android·ios