安卓源码阅读--源码编译

1,经过几天的努力,工作环境总算是准备拖了.在这里再次重申一下,创建虚拟机的空间一定要足够大,要不然后面会很麻烦.开始设置虚拟机100G的容量,觉的源码也就20多G,空间肯定是够了.没想到下载完成镜像文件aosp-latest.tar,才30G,在解压完成后安装Jdk的时候就莫名其妙的报了空间不足.也真的是无语了,最后不得以直接把空间换成240G,这次终于可以编译了.
注:关于Virtualbox空间扩张网上有很多教程,这个自己百度吧.

2.废话不多说了,开始准备工作
2.1启动Ubuntu系统,打开终端.
创建一个目录 mkdir ~/bin
执行完这条指令之后会在home界面里面显示一个文件名为bin的文件夹
2.2 如入到这个目录下面
cd ~/bin
2.3安装git和curl
首先在ubuntu的环境下安装这两个工具.
2.3.1 安装git sudo apt-get install git-core
2.3.2 安装curl sudo apt-get install curl
2.4下载repo
由于google被强了,建议下载安卓源码使用清华大学的镜像站。https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/ 这个链接是清华大学镜像站官方下载Android源码的介绍.首先下载repo方法如下:

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

下载repo之后,将repo的路径设为环境变量,并且将权限改成可执行

2.5repo下载完成后下载aosp-latest.tar镜像包.

wget https://mirrors.tuna.tsinghua.edu.cn/aosp-monthly/aosp-latest.tar # 下载初始化包
tar xf aosp-latest.tar
cd AOSP   # 解压得到的 AOSP 工程目录
# 这时 ls 的话什么也看不到,因为只有一个隐藏的 .repo 目录
repo sync # 正常同步一遍即可得到完整目录
# 或 repo sync -l 仅checkout代码

由于aosp-latest.tar的包比较大,最好晚上下载.第二天基本就会下载完成.
下载完成后解压执行tar xf aosp-latest.tar的包,解压完后会出现一个aosp的包,cd到这个包目录下面,执行repo sync就会开始同步文件,或者repo sync -l同步代码.

2.6将源代码放到指定的目录,进入到目录下面.准备开始编译源码
2.6.1安装jdk,由于使用的是Ubuntu16.4.2安装jdk开始的时候安装的是openjdk-7-jdk,但是在在编译的时候提示要求jdk版本为1.8.*才行,于是安装1.8的jdk
jdk安装步骤

sudo add-apt-repository ppa:openjdk-r/ppa  
sudo apt-get update   
sudo apt-get install openjdk-8-jdk

2.6.2安装依赖环境

版本不对应的话,依赖包会安装失败.这个是ubuntu16.4.2的依赖包.安装成功的.

sudo apt-get install git-core gnupg flex bison gperf build-essential 

zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 

lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev ccache 

libgl1-mesa-dev libxml2-utils xsltproc unzip m4

3.一切准备就绪开始编译.
cd到源码目录下面,在命令行输入以下命令

source build/envsetup.sh
lunch aosp_arm-eng
make -j8 (这里的数字是根据系统配置来的,比如22线程的就可以选择j4,数字越高编译越快,前提你的电脑硬件要支持。。。)

编译过程中可能报错在针对的进行百度吧.目前就进行到这个位置了,源码编译中…..

以上内容参考 :
https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/
http://blog.csdn.net/a992036795/article/details/53462068

猜你喜欢

转载自blog.csdn.net/f820306455/article/details/73838832