安卓源码编译
折腾了3天, 记录一下过程。
1.环境搭建
我是在win8下用vm11加载ubuntu14.04的镜像,推荐用ubuntu14.04,至于是虚拟机还是双系统,随意。
值得注意的是,编译完成后可能会占用60多g的空间,所以硬盘大小一定要给够~最少给80g~我第一次分40g满了,然后分60g又满了,这也是折腾了三天的原因~
安装好ubuntu,然后就开始下载所需的包。
首先是jdk,注意要用openjdk。 sudo apt-get update
sudo apt-get install openjdk-7-jdk
如果之前有装过其他jdk,执行下面的命令: sudo update-alternatives --config java
sudo update-alternatives --config javac
然后是其他所需要的包,官网上给出的是下面这条命令: sudo apt-get install bison g++-multilib git gperf libxml2-utils make python-networkx zlib1g-dev:i386 zip
但是你执行后会发现有的包无法定位,以及g++-multilib安装缺少配。所以执行上面这条命令之前,先运行以下命令: sudo apt-get install gcc
sudo apt-get install g++
sudo apt-get install gcc-multilib
sudo apt-get install python-pip
pip install networkx
执行以上命令之后,再执行官网给的命令,就一路OK了~
环境配置基本就是这样。
2.源码编译
因为和谐原因,直接按官网上用repo命令下载安卓源码是比较慢的,所以我们直接从百度云上可以找到安卓的源码,下载下来,拷入虚拟机。在虚拟机中解压,在命令行cd进入解压后的文件夹,执行: source build/envsetup.sh
用来初始化编译环境,然后执行: lunch
选择执行目标,一般选择1即可。
接下来就是最关键的时候了,编译命令: sudo make -j4
官网是没有加sudo的,但是防止万一哪一步权限不够,所以给加上了。make后的参数是用来选择执行编译的线程 的(-jN,N的大小一般等于电脑核心数乘以单核线程数或其两倍)。
编译源码第一次很费时间,电脑配置好的话会比较快,2小时到4小时吧,然而我电脑比较渣编了8小时才好,吐槽一下~
3.运行虚拟机
在编译完成后,在你解压的文件夹下执行命令: emulator
虚拟机就开始运行你刚编译的安卓源码了~
可能会出现找不到emulator命令的情况,此时重新输入命令 source build/envsetup.sh
lunch
即可解决。
基本过程就是这样,希望这篇文章能对你有帮助:)