Android实战技巧之四十:Android5.1.1源代码编译与烧写

http://blog.csdn.net/lincyang/article/details/48197787
修改系统玩,再加上其较高的性价比,在开发者中还是广受欢迎的。我的5太子被我升级到了6.0预览版,玩的正嗨,舍不得换回到5.1时代了。不过鉴于距6.0源码发布还有段日子,5.1的源码编译与烧写仍是主流,下面就记录了整个过程(持续了很长时间,我们要有耐心)。

搭建开发环境

系统推荐Ubuntu 14.04 
1.openjdk is needed

<code class="hljs lasso has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">$ sudo apt<span class="hljs-attribute" style="box-sizing: border-box;">-get</span> update
$ sudo apt<span class="hljs-attribute" style="box-sizing: border-box;">-get</span> install openjdk<span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">-</span><span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">7</span><span class="hljs-attribute" style="box-sizing: border-box;">-jdk</span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li></ul>

set it the default java version

<code class="hljs bash has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">$ <span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">sudo</span> update-alternatives --config java
$ <span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">sudo</span> update-alternatives --config javac</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li></ul>

2.required package

<code class="hljs lasso has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">sudo apt<span class="hljs-attribute" style="box-sizing: border-box;">-get</span> install bison g<span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">++-</span>multilib git gperf libxml2<span class="hljs-attribute" style="box-sizing: border-box;">-utils</span> make python<span class="hljs-attribute" style="box-sizing: border-box;">-networkx</span> zlib1g<span class="hljs-attribute" style="box-sizing: border-box;">-dev</span>:i386 zip</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li></ul>

遇到问题:

<code class="hljs applescript has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">$ sudo apt-<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">get</span> install bison g++-multilib git gperf libxml2-utils make python-networkx zlib1g-dev:i386 zip
[sudo] password <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">for</span> linc: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
make <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">is</span> already <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">the</span> newest <span class="hljs-property" style="box-sizing: border-box;">version</span>.
zip <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">is</span> already <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">the</span> newest <span class="hljs-property" style="box-sizing: border-box;">version</span>.
git <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">is</span> already <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">the</span> newest <span class="hljs-property" style="box-sizing: border-box;">version</span>.
git <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">set</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">to</span> manually installed.
libxml2-utils <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">is</span> already <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">the</span> newest <span class="hljs-property" style="box-sizing: border-box;">version</span>.
libxml2-utils <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">set</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">to</span> manually installed.
Some packages could <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">not</span> be installed. This may mean <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">that</span> you have
requested an impossible situation <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">or</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">if</span> you are using <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">the</span> unstable
distribution <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">that</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">some</span> required packages have <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">not</span> yet been created
<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">or</span> been moved <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">out of</span> Incoming.
The following information may help <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">to</span> resolve <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">the</span> situation:

The following packages have unmet dependencies:
 g++-multilib : Depends: gcc-multilib (>= <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">4</span>:<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">4.8</span><span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">.2</span>-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>ubuntu6) <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">but</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">it</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">is</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">not</span> going <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">to</span> be installed
E: Unable <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">to</span> correct problems, you have held broken packages</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li><li style="box-sizing: border-box; padding: 0px 5px;">14</li><li style="box-sizing: border-box; padding: 0px 5px;">15</li><li style="box-sizing: border-box; padding: 0px 5px;">16</li><li style="box-sizing: border-box; padding: 0px 5px;">17</li><li style="box-sizing: border-box; padding: 0px 5px;">18</li><li style="box-sizing: border-box; padding: 0px 5px;">19</li><li style="box-sizing: border-box; padding: 0px 5px;">20</li></ul>

按照如下步骤即可:

<code class="hljs lasso has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">$ sudo apt<span class="hljs-attribute" style="box-sizing: border-box;">-get</span> install g<span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">++-</span>multilib
$ sudo apt<span class="hljs-attribute" style="box-sizing: border-box;">-get</span> install  bison git gperf libxml2<span class="hljs-attribute" style="box-sizing: border-box;">-utils</span> make python<span class="hljs-attribute" style="box-sizing: border-box;">-networkx</span> zlib1g<span class="hljs-attribute" style="box-sizing: border-box;">-dev</span>:i386 zip</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li></ul>

gcc为必须

<code class="hljs lasso has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">$ sudo apt<span class="hljs-attribute" style="box-sizing: border-box;">-get</span> install gcc

$ gcc <span class="hljs-attribute" style="box-sizing: border-box;">-v</span>
<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">Thread</span> model: posix
gcc version <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">4.8</span><span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">.4</span> (Ubuntu <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">4.8</span><span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">.4</span><span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">-</span><span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2</span>ubuntu1~<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">14.04</span>) 
</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li></ul>

repo

<code class="hljs smalltalk has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="hljs-char" style="box-sizing: border-box;">$ </span>mkdir ~/bin
<span class="hljs-char" style="box-sizing: border-box;">$ </span><span class="hljs-class" style="box-sizing: border-box; color: rgb(102, 0, 102);">PATH</span>=~/<span class="hljs-method" style="box-sizing: border-box;">bin:</span><span class="hljs-char" style="box-sizing: border-box;">$P</span>ATH

<span class="hljs-char" style="box-sizing: border-box;">$ </span>curl <span class="hljs-method" style="box-sizing: border-box;">https:</span>//storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
<span class="hljs-char" style="box-sizing: border-box;">$ </span>chmod a+x ~/bin/repo</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li></ul>

check sh1 sum:

<code class="hljs ruby has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$ </span>sha1sum repo 
b8bd1804f432ecf1bab730949c82b93b0fc5fede  repo
</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li></ul>

For version 1.21, the SHA-1 checksum for repo is b8bd1804f432ecf1bab730949c82b93b0fc5fede

repo init

针对Nexus5的5.1.1的初始化如下:

<code class="hljs  has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">LMY48I  android-5.1.1_r9    Lollipop    Nexus 4, Nexus 5, Nexus 6, Nexus 7 (flo), Nexus 9 (volantis/volantisg), Nexus 10</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li></ul>
<code class="hljs lasso has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">$ repo init <span class="hljs-attribute" style="box-sizing: border-box;">-u</span> https:<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//android.googlesource.com/platform/manifest -b android-5.1.1_r9</span>

Your identity is: linc <span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;"><</span>xxx@xxx<span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">.</span>com<span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">></span>
<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">If</span> you want <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">to</span> change this, please re<span class="hljs-attribute" style="box-sizing: border-box;">-run</span> <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">'repo init'</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">with</span> <span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">--</span>config<span class="hljs-attribute" style="box-sizing: border-box;">-name</span>

Testing colorized output (for <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">'repo diff'</span>, <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">'repo status'</span>):
  black    red      green    yellow   blue     magenta   cyan     white 
  bold     dim      ul       reverse 

repo has been initialized <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">in</span> /home/linc/source<span class="hljs-attribute" style="box-sizing: border-box;">-android</span>/android<span class="hljs-attribute" style="box-sizing: border-box;">-source</span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li></ul>

repo sync

<code class="hljs ruby has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$ </span>repo sync</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li></ul>

一个晚上两个白天,终于下载完成,代码达34G.

Setting up ccache

Put the following in your .bashrc (or equivalent):

<code class="hljs bash has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">export</span> USE_CCACHE=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li></ul>

run the command:

<code class="hljs lasso has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">prebuilts/misc/linux<span class="hljs-attribute" style="box-sizing: border-box;">-x86</span>/ccache/ccache <span class="hljs-attribute" style="box-sizing: border-box;">-M</span> <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">50</span>G</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li></ul>

Building the System

1.Set up environment

<code class="hljs bash has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">$ <span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">source</span> build/envsetup.sh</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li></ul>

or

<code class="hljs ruby has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$ </span>. build/envsetup.sh</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li></ul>

2.Choose a Target

<code class="hljs vbnet has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">$ lunch 

You<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">'re building on Linux</span>

Lunch menu... pick a combo:
     <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1.</span> aosp_arm-eng
     <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2.</span> aosp_arm64-eng
     <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">3.</span> aosp_mips-eng
     <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">4.</span> aosp_mips64-eng
     <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">5.</span> aosp_x86-eng
     <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">6.</span> aosp_x86_64-eng
     <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">7.</span> aosp_manta-userdebug
     <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">8.</span> aosp_flo-userdebug
     <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">9.</span> aosp_deb-userdebug
     <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">10.</span> full_fugu-userdebug
     <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">11.</span> aosp_fugu-userdebug
     <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">12.</span> aosp_tilapia-userdebug
     <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">13.</span> aosp_grouper-userdebug
     <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">14.</span> aosp_mako-userdebug
     <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">15.</span> aosp_hammerhead-userdebug
     <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">16.</span> aosp_flounder-userdebug
     <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">17.</span> aosp_shamu-userdebug
     <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">18.</span> mini_emulator_x86-userdebug
     <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">19.</span> mini_emulator_arm64-userdebug
     <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">20.</span> mini_emulator_x86_64-userdebug
     <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">21.</span> mini_emulator_mips-userdebug
     <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">22.</span> m_e_arm-userdebug

Which would you <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">like</span>? [aosp_arm-eng] </code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li><li style="box-sizing: border-box; padding: 0px 5px;">14</li><li style="box-sizing: border-box; padding: 0px 5px;">15</li><li style="box-sizing: border-box; padding: 0px 5px;">16</li><li style="box-sizing: border-box; padding: 0px 5px;">17</li><li style="box-sizing: border-box; padding: 0px 5px;">18</li><li style="box-sizing: border-box; padding: 0px 5px;">19</li><li style="box-sizing: border-box; padding: 0px 5px;">20</li><li style="box-sizing: border-box; padding: 0px 5px;">21</li><li style="box-sizing: border-box; padding: 0px 5px;">22</li><li style="box-sizing: border-box; padding: 0px 5px;">23</li><li style="box-sizing: border-box; padding: 0px 5px;">24</li><li style="box-sizing: border-box; padding: 0px 5px;">25</li><li style="box-sizing: border-box; padding: 0px 5px;">26</li><li style="box-sizing: border-box; padding: 0px 5px;">27</li><li style="box-sizing: border-box; padding: 0px 5px;">28</li><li style="box-sizing: border-box; padding: 0px 5px;">29</li></ul>

Nexus5就选择了15,如果只是用于模拟器就选择1好了。 
3.build

<code class="hljs lasso has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">make <span class="hljs-attribute" style="box-sizing: border-box;">-j4</span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li></ul>

如果遇到等待其他任务完成的错误,是多线程冲突,就直接make好了。 
4.error 
1)

<code class="hljs vbnet has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">No <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">private</span> recovery resources <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">for</span> TARGET_DEVICE hammerhead
host C++: bcc <= frameworks/compile/libbcc/tools/bcc/Main.cpp
clang++: <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">error</span>: unable <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">to</span> execute command: Executable <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"as"</span> doesn<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">'t exist!</span>
clang++: <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">error</span>: assembler command failed <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">with</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">exit</span> code <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span> (use -v <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">to</span> see invocation)
make: *** [out/host/linux-x86/obj32/EXECUTABLES/bcc_intermediates/Main.o] <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">Error</span> <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>
</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li></ul>

try make clean.这是没有安装gcc的后果。

build successfully

<code class="hljs css has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">#### <span class="hljs-tag" style="color: rgb(0, 0, 0); box-sizing: border-box;">make</span> <span class="hljs-tag" style="color: rgb(0, 0, 0); box-sizing: border-box;">completed</span> <span class="hljs-tag" style="color: rgb(0, 0, 0); box-sizing: border-box;">successfully</span> (05<span class="hljs-pseudo" style="color: rgb(0, 0, 0); box-sizing: border-box;">:53</span><span class="hljs-pseudo" style="color: rgb(0, 0, 0); box-sizing: border-box;">:54</span> (<span class="hljs-tag" style="color: rgb(0, 0, 0); box-sizing: border-box;">hh</span><span class="hljs-pseudo" style="color: rgb(0, 0, 0); box-sizing: border-box;">:mm</span><span class="hljs-pseudo" style="color: rgb(0, 0, 0); box-sizing: border-box;">:ss))</span> ####</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li></ul>

目录结构如下:

<code class="hljs avrasm has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">out</span>/target/product/hammerhead$ du -sh *
<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">4.0</span>K    android-info<span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">.txt</span>
<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">8.8</span>M    boot<span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">.img</span>
<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">4.0</span>K    cache
<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">14</span>M cache<span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">.img</span>
<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">64</span>K clean_steps<span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">.mk</span>
<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">172</span>K    data
<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">4.0</span>K    fake_packages
<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">81</span>M gen
<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">64</span>K installed-files<span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">.txt</span>
<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">8.1</span>M    kernel
<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">16</span>G obj
<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">4.0</span>K    previous_build_config<span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">.mk</span>
<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">700</span>K    ramdisk<span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">.img</span>
<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1.4</span>M    ramdisk-recovery<span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">.img</span>
<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2.2</span>M    recovery
<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">9.5</span>M    recovery<span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">.img</span>
<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1.3</span>M    root
<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2.9</span>G    symbols
<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">288</span>M    system
<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">307</span>M    system<span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">.img</span>
<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">135</span>M    userdata<span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">.img</span>
</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li><li style="box-sizing: border-box; padding: 0px 5px;">14</li><li style="box-sizing: border-box; padding: 0px 5px;">15</li><li style="box-sizing: border-box; padding: 0px 5px;">16</li><li style="box-sizing: border-box; padding: 0px 5px;">17</li><li style="box-sizing: border-box; padding: 0px 5px;">18</li><li style="box-sizing: border-box; padding: 0px 5px;">19</li><li style="box-sizing: border-box; padding: 0px 5px;">20</li><li style="box-sizing: border-box; padding: 0px 5px;">21</li><li style="box-sizing: border-box; padding: 0px 5px;">22</li><li style="box-sizing: border-box; padding: 0px 5px;">23</li></ul>

Flash device

To flash a device, you will need to use fastboot, which should be included in your path after a successful build. Place the device in fastboot mode either manually by holding the appropriate key combination at boot, or from the shell with

<code class="hljs ruby has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$ </span>adb reboot bootloader</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li></ul>

Once the device is in fastboot mode, run

<code class="hljs ruby has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$ </span>fastboot flashall -w</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li></ul>

The -w option wipes the /data partition on the device; this is useful for your first time flashing a particular device but is otherwise unnecessary.

For more information about building for and running on actual hardware, see Running Builds.

Flash emulator

1.build generic img 
lunch 1即可,然后正常make。

make completed successfully (05:02:47 (hh:mm:ss))

2.启动模拟器

<code class="hljs mel has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">~/<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">source</span>-android/android-<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">source</span>/out/target/product/generic$ emulator -sysdir ~/<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">source</span>-android/android-<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">source</span>/out/target/product/generic -<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">system</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">system</span>.img 
emulator: WARNING: <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">system</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">partition</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">size</span> adjusted to <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">match</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">image</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">file</span> (<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">550</span> MB > <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">200</span> MB)

emulator: WARNING: data <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">partition</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">size</span> adjusted to <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">match</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">image</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">file</span> (<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">550</span> MB > <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">200</span> MB)

Creating filesystem with parameters:
    Size: <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">69206016</span>
    Block <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">size</span>: <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">4096</span>
    Blocks per <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">group</span>: <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">32768</span>
    Inodes per <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">group</span>: <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">4224</span>
    Inode <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">size</span>: <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">256</span>
    Journal blocks: <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1024</span>
    Label: 
    Blocks: <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">16896</span>
    Block groups: <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>
    Reserved block <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">group</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">size</span>: <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">7</span>
Created filesystem with <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">11</span>/<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">4224</span> inodes and <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1302</span>/<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">16896</span> blocks</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li><li style="box-sizing: border-box; padding: 0px 5px;">14</li><li style="box-sizing: border-box; padding: 0px 5px;">15</li><li style="box-sizing: border-box; padding: 0px 5px;">16</li><li style="box-sizing: border-box; padding: 0px 5px;">17</li></ul><div class="save_code tracking-ad" data-mod="popu_249" style="box-sizing: border-box; position: absolute; height: 60px; right: 30px; top: 5px; color: rgb(255, 255, 255); cursor: pointer; z-index: 2;"><a target=_blank target="_blank" style="box-sizing: border-box; color: rgb(12, 137, 207);"><img src="http://static.blog.csdn.net/images/save_snippets.png" style="border: none; box-sizing: border-box;" alt="" /></a></div>

模拟器顺利启动,与真机的区别有很多,比如开机画面不同,Home的UI和操控都有所不同。具体原因敬请期待。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值