AOSP版的Android 9.0 -源码下载编译

转载:https://blog.csdn.net/m0_37293461/article/details/102557802

1.下载repo工具
这里我们只要知道repo是使用Python对git进行封装的工具就行,还有就是repo的作用是方便管理Android源码繁多的git库,它的使用时简化了git版本库的管理。

安装git:

sudo apt-get install git

创建bin,并加入到PATH中:

mkdir ~/bin
PATH=~/bin:$PATH

安装curl库:

sudo apt-get install curl

下载repo并设置权限:

curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo > ~/bin/repo
chmod a+x ~/bin/repo

安装python,repo初始化时会用到:

sudo apt-get install python

 

2 . 下载源码
建立工作目录:

mkdir aosp
cd aosp

这里如果想使用清华镜像来更新repo,可以加上如下内容到你的~/.bashrc中:

export REPO_URL=‘https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/’

source ~/.bashrc

设置身份,添加自己的git邮箱和密码:

git config --global user.email “usergmail@gmail.com”
git config --global user.name “username”

初始化仓库:

repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest

初始化指定版本:

repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-9.0.0_r8
// 这里的版本有很多,最好选一个稳定版的

同步源码:

repo sync

 

3.准备依赖环境

安装 jdk8:

sudo apt-get update
sudo apt-get install openjdk-8-jdk

这里可以自己配一下java环境变量,很简单就不说了。

使用 ubuntu 14+,需要安装以下依赖包:

sudo apt-get install git gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib x11proto-core-dev libx11-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip

 

4.编译源码

在AOSP的根目录,输入如下的命令初始化环境:

source build/envsetup.sh
// 编译前删除build文件夹A
make clobber

这里实际的操作就是执行build文件夹下的envsetup.sh这个脚本

选择编译目标:

lunch

lunch命令是envsetup.sh里定义的一个命令,用来让用户选择编译目标。
这里我们选择5,具体的编译目标类型自己可以去查看哦。

lunch 5

下面开始编译:
通过-jN参数来设置编译的并行任务数,以提高编译速度,在此前我的CPU核心数为6,这里N值最好选在6到12之间,这里我们设置6个并行任务进行编译(注意:这里看自己的电脑配置,如果配置低,N值选小一点)

make -j6

 

 

如果AOSP清华镜像报错:revision refs/tags/android-9.0.0_r8 in platform/cts not found

解决方法:在根目录单独下载

repo sync platform/cts

然后重新同步,成功后会有标志:repo sync has finished successfully

 

如果报错“File "build/make/tools/normalize_path.py", line 25     print os.path.normpath(p)”

解决办法,安装python2.7

1、下载python

wget https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tgz

2、解压、编译安装(依次执行以下5条命令)

tar -zxvf Python-2.7.9.tgz

cd Python-2.7.9

./configure --prefix=/usr/local/python-2.7.9

make

make install

创建软链接,如果提示链接已存在,则先删除后创建

ln -s /usr/local/python-2.7.9/bin/python /usr/bin/python

 

如果报如下错误

解决办法:安装jdk6

现在官方网站上最新的版本已经不是JDK6了, 但是其他版本是不能用于Android的编译的,一定要去下载JDK6。

1. 去oracle官网下载文件”jdk-6u45-linux-x64.bin”,将其上传到linux

2.安装

chmod +x jdk-6u45-linux-x64.bin
./jdk-6u45-linux-x64.bin

3.配置环境变量 

sudo vi /etc/profile

JAVA_HOME=/home/joybook/program/java/jdk1.6.0_14
export JRE_HOME=/home/joybook/program/java/jdk1.6.0_14/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

$ source /etc/profile

4.测试是否生效

java -version

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值