2017-07-05
我使用的是最新的系统Ubuntu 16.04,其中硬盘内存最好设置的大一些,因为源码及其编译之后的内容都会占用比较大的空间。同时,内存最好也设大一些,避免发生编译时内存不足的情况。
下面介绍需要安装的配置:
sudo apt-get install git
git config –global user.email "test@test.com"
git config –global user.name "test"
其中test@test.com和test分别是你的邮箱和用户名
mkdir ~/bin
PATH=~/bin:$PATH
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
这里不对Repo的工作原理进行介绍,想要了解可以在网上查找一些相关资料。
sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update
sudo apt-get install openjdk-7-jdk
在安装好Java之后,如果你的系统中有其他的Java版本你可能需要进行Java版本的切换,命令如下:
sudo update-alternatives --config java
sudo update-alternatives --config javac
mkdir source
cd source
repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest
或附带版本号
repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-4.0.1_r1
或先下载初始包,推荐使用这种方法,可以减少网络故障造成的问题
wget -c -t 0 https://mirrors.tuna.tsinghua.edu.cn/aosp-monthly/aosp-latest.tar
tar -vxzf aosp-latest.tar
cd aosp
repo sync
repo sync
可能会遇到几次失败,历经多次执行这条指令之后终于成功。
source build/envsetup.sh
lunch
执行lunch指令之后,会出现所有的编译目标选项,我们可以进行选择,例如:
lunch aosp_arm64-eng
通过make指令进行代码编译
make
也可以通过-j参数,设置多线程编译
make -j8
运行顺利的话,几个小时之后可以看到 make completed successfully (01:18:45(hh:mm:ss)) ,表示编译成功
在编译完成之后,就可以通过以下命令运行Android虚拟机了,命令如下:
source build/envsetup.sh
lunch(选择刚才你设置的目标版本,比如这里了我选择的是2)
emulator
不出意外,在等待一会之后,你会看到运行界面
可能在make最开始提示java编译版本不对,这是只需要按上面介绍的切换java版本的指令进行操作,切换到正确的openjdk版本即可。
在make是可能出现很多环境配置上的问题,例如要修改javadoc,javac等,但大部分都可以在网上找到相关资料进行修改。