一. 安装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
三. 编译
cd到源代码目录
. build/envsetup.sh 主要. 和build之间是有个空格的,这是个source命令,执行之后,会多出几个命令。
这个命令执行的是 源代码目录/build/envsetup.sh文件,一般会用到多出来的choosecombo,mm,mmm命令。
mm编译当前目录,也就是一般是这样cd ./xxx/xxx -> mm
mmm编译指定目录,也就是一般是这样mmm ./xxx/xxx
choosecombo选择编译参数,一般默认即可。
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 启动模拟器,如下图:
PS:
AOSP-Android Open-Source Project Android开发源代码计划