一. 安装vmware+ubuntu环境,可以尽量选择新一点的版本。


二. 源代码下载

在现在外网被墙的情况下,直接使用git从google下载android源代码基本是不可能成功的。


还好找到了清华大学的镜像,地址如下:

http://mirrors.tuna.tsinghua.edu.cn/help/AOSP/

那么只要按照这个网站的教程一步步操作就可以了,主要是下面这句话:


参考 Google 教程 https://source.android.com/source/downloading.html, 将 https://android.googlesource.com/ 全部使用https://aosp.tuna.tsinghua.edu.cn/ 或 git://aosp.tuna.tsinghua.edu.cn/aosp/ 代替即可。


可以参考老罗的博客,下载android源代码,注意把里面的google地址替换成tsinghua地址

http://blog.csdn.net/luoshengyang/article/details/6559955


老罗的博客里面下载的是2.3的版本,所以我下载的也是2.3的。那为什么选择跟老罗下载一样的版本呢?因为老罗的分析真的很不错,每一篇博客都值得仔细研读。


安卓版本列表:

http://blog.csdn.net/tonyfield2015/article/details/9734031


三. 编译

  1. cd到源代码目录

  2. . build/envsetup.sh 主要. 和build之间是有个空格的,这是个source命令,执行之后,会多出几个命令。

    这个命令执行的是 源代码目录/build/envsetup.sh文件,一般会用到多出来的choosecombo,mm,mmm命令。

    mm编译当前目录,也就是一般是这样cd ./xxx/xxx -> mm

    mmm编译指定目录,也就是一般是这样mmm ./xxx/xxx

  3. choosecombo选择编译参数,一般默认即可。

  4. make 编译



四. 编译出错

编译的过程中不可能一帆风顺,会出现各种各样的错误;

比如64位环境不能编译32位,或者gcc版本太低或者太高,肯定会有各种各样的错误。

所以,不要害怕出现错误,如果出现编译出错的情况,一般直接把错误贴到百度搜索,然后一般都有解决方法。


修改之后,再执行make


五. 运行模拟器

1. 先按照老罗的方法把emulator加入环境变量

USER-NAME@MACHINE-NAME:~/Android$ export PATH=$PATH:~/working_directory/out/host/linux-x86/bin  

USER-NAME@MACHINE-NAME:~/Android$ export ANDROID_PRODUCT_OUT=~/working_directory/out/target/product/generic


ps:

working_directory是我的源代码保存文件夹,它的全路径是:/home/android/working_directory, 可能大家的路径跟这个有所不同。



不过最好把这两行添加到home目录下的.bashrc文件中,这样重启电脑后就不用再次输入这两个命令了。也就是

cd ~

vim .bashrc

输入内容后保存,重启下虚拟机。


2. 在命令行中运行emulator 启动模拟器,如下图:


1. Android源代码下载编译_android


PS:

AOSP-Android Open-Source Project Android开发源代码计划