因为构建 AOSP 的关系,所以需要一个厨房(雾.

使用的系统为 Debian Sid

构建的 Android 版本是 6.0.1,而我们需要的 JDK 版本是 1.7

apt-get purge openjdk-\* icedtea-\* icedtea6-\*
apt-get update
apt-get install openjdk-7-jdk
`</pre>

安装完毕之后我们就需要修改我们的软件源,添加其对于 32 位元的支持.

<pre>`dpkg --add-architecture i386
`</pre>

接下来需要在源列表中添加架构设定.

<pre>`deb [arch=amd64,i386] https://balbalabal.
`</pre>

接下来则是更新列表

<pre>`apt-get update
`</pre>

更新列表之后就可以安装我们需要的软件了.

<pre>`apt-get install bison g++-multilib git gperf libxml2-utils make zlib1g-dev:i386 zip
`</pre>

然后我们需要一个软件,叫做 repo ,用来下载 AOSP 代码.

<pre>`mkdir ~/bin
curl http://commondatastorage.googleapis.com/git-repo-downloads/repo &gt; ~/bin/repo
chmod a+x ~/bin/repo
export PATH=~/bin:$PATH
`</pre>

如果你在中国大陆,请使用 USTC 的软件源

<pre>`curl https://storage-googleapis.lug.ustc.edu.cn/git-repo-downloads/repo &gt; ~/bin/repo
`</pre>

并且将地址修改为 USTC 的地址.

<pre>`nano ~/bin/repo
#将 REPO_URL 替换为:
git://mirrors.ustc.edu.cn/aosp/platform/manifest
`</pre>

然后就是同步代码了.

<pre>`mkdir ~/android
cd ~/android
repo init -u https://android.googlesource.com/platform/manifest -b android-6.0.1_r11
repo sync
`</pre>

同理,如果你生活在中国大陆,请使用 USTC 的源.

<pre>`repo init -u git://mirrors.ustc.edu.cn/aosp/platform/manifest -b android-6.0.1_r11
repo sync
`</pre>

请预留大约 42G 的空间来同步.在同步完成,打好补丁后就可以开始构建了.

<pre>`source build/envsetup.sh &amp;&amp; lunch
`</pre>

在 lunch 的菜单中选择你的型号.

<pre>`make -j

Happy cooking!


Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.