笔者根据罗升阳老师的《Android 系统源代码情景分析》一书,尝试下载,编译和运行Android源代码和内核源代码。但可能是软件源“被墙”或版本更新的原因,期间遇到诸多问题。笔者求助于强大的度娘和谷歌,终于编译成功,现将修改的步骤记录如下:
一.下载相关的工具包和依赖包
1.git工具的下载,不多说
2.Java SDK的下载(参考网址:http://blog.csdn.net/zjclugger/article/details/11762085)
此处建议下载jdk1.6.0_41
3.其他依赖包的下载
其他依赖包中,libwxgtk2.6-dev的安装会出现问题,将该工具包版本改为libwxgtk2.8-dev即可
注意:有一些工具包的下载会出现找不到包的问题,此时可以改变软件源,我是使用的华中科技大学的软件源http://mirrors.hust.edu.cn/ubuntu,亲测可用。
二.下载Android源代码
结合书中内容和博客http://www.cnblogs.com/bluestorm/p/4419135.html可以成功下载
1.下载repo
1)创建repo目录
mkdir ~/bin
PATH=~/bin:$PATH
2)下载repo(官方的repo下载不了,其他的repo大多比较旧,这个时比较新的)
git clone git://aosp.tuna.tsinghua.edu.cn/android/git-repo.git/
3)克隆下来后将git-repo中的repo文件拷贝到bin目录
cp git-repo/repo ~/bin/
4)修改repo文件,设置REPO_URL如下:
REPO_URL = ‘git://aosp.tuna.tsinghua.edu.cn/android/git-repo‘
2.初始化 repo
1)创建Android目录,并进入
mkdir Android
cd Android
2)初始化repo
repo init -u git://aosp.tuna.tsinghua.edu.cn/android/platform/manifest -b android-2.3.1_r1
ps:在初始化时,若提示需要email验证,使用如下命令后,再重新上面命令:
git config --global user.email "[email protected]"
git config --global user.name "Your Name"
3)同步repo
repo sync
等待一段时间后(时间较长),Android源代码便下载成功了。此时Android目录中文件列表如下:
三,编译Android源代码
执行make命令。。。。但这远远不够,会遇到各种问题和报错。。此时借助度娘即可。
笔者将一些常见的错误截图和解决方案罗列如下,希望可以对大家有一些帮助
1.
解决办法:sudo apt-get install libc6-dev-i386
2.
3.
4.
5.
6.
7.
8.
9.编译成功后,得到一下结果:
10.编译sdk
make sdk,这一步也没有什么问题
四.运行Android模拟器
1.配置环境变量
export PATH=$PATH:~/Android/out/host/linux-x86/bin
export ANDROID_PRODUCT_OUT=~/Android/out/target/product/generic
2.运行模拟器
emulator命令(也可以指定kernel, system, data和ramdisk,如笔者所示。若不指定,则使用默认的)。。但往往会遇到如下问题:
可通过如下命令解决:sudo apt-get install libsdl1.2debian:i386,如下图所示:
五.android内核源代码的下载
1.新建kernel文件夹,并进入
mkdir kernel
cd kernel
2.手动执行git命令下载:git clone http://android.googlesource.com/kernel/goldfish.git
但会出现问题,提示:remote error: SSL is required,如下图所示:
解决方案:将“http”修改为“https”,如下图所示即可:
3.git checkout remotes/origin/android-goldfish-2.6.29
六.编译android内核源代码
这里按照书上的步骤,应该不会有什么问题,此处略去
版权声明:本文为博主原创文章,未经博主允许不得转载。