平时要做很多关于编译源码工作,这里记录下步骤。
虚拟机用ubuntu14.04系统,jdk1.6.02,下载的android4.3_r1源码。
1、下载源码,采用清华源
1)首先下载repo
$ mkdir ~/bin
$ PATH=~/bin:$PATH
$ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
$ chmod a+x ~/bin/repo
成功后,可以在当前看到如下文件夹
修改repo的内容,修改源为清华源,这里没有修改~/bin/repo,而是将REPO_URL作为系统变量添加到了~/.bashrc文件如下
我在使用时通过修改repo内的一直不生效,所以最后到查到可以通过添加环境变量来生效。
保存后使用命令
source ~/.bashrc
生效一下。
安装git,因为原始系统是没有git的
sudo apt-get install git
安装之后,配置git
$ git config --global user.name "Your Name"
$ git config --global user.email "[email protected]"
2)下载源码
使用如下命令下载建立要下载分支的目录
$ mkdir -p ~/android/android-4.3_r1
$ cd ~/android/android-4.3_r1
在进入到要android-4-3_r1的目录后,初始化 repo
$ repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-4.3_r1
初始化完成后,就开始同步分支代码
使用j3,可以开3个线程并发,增加速度,清华源最大支持3
$ repo sync j3
等待完成即可。
2、编译源码
1)安装需要的库
sudo apt-get install bison g++-multilib git gperf libxml2-utils make python-networkx zlib1g-dev:i386 zip
2)java环境,这里编译android-4-3_r1需要java1.6版本,这里使用的是jdk-6u20-linux-x64.bin
给jdk-6u20-linux-x64.bin增加执行权限
chmod u+x jdk-6u20-linux-x64.bin
./jdk-6u20-linux-x64.bin
一直回车,直到出现要求输入[yes/no],这里选择yes,就解压完成
复制解压出来的jdk到/usr/lib/jvm/java/下
cp /pathtojdk/jdk-6u20 /usr/lib/jvm/java/
添加环境变量
gedit ~/.basrc
JAVA_HOME=/usr/lib/jvm/java/jdk1.6.0_20
PATH=${JAVA_HOME}/bin:$PATH
CLASSPATH=${JAVA_HOME}/lib:$CLASSPATH
保存退出,生效
source ~/.bashrc
查看java版本
3)编译源码
cd /android/android-4-3_r1
生效setup文件
source build/envsetup.sh
执行lunch
lunch
接着选择要编译的版本,这里选择arm
选1
开始编译,使用4个线程
make -j4
没有报错就能成功。
4)执行emulator就能开到结果
最后,如果是真机的情况,需要下驱动文件,然后重新编译,后续补充,先留下驱动文件下载地址