这一章的话之前也是弄过,不过失败了,趁着这次又重新来了一次,在同学帮助下找到了国内的中科大源下/aosp,但是源码下载一直失败到了大概62%,不是域名解析错误就是链接超时,无奈,弄不下去了。墙太高,网速太慢,硬盘太小,没钱@_@。
一、获取 repo
http://www.cnblogs.com/bluestorm/p/4419135.html(先看看这个网址)
首先获取 repo:
curl "http://php.webtutor.pl/en/wp-content/uploads/2011/09/repo" > ~/bin/repo
给 “repo” 增加相应权限:chmod a+x ~/bin/repo
添加环境变量:PATH=~/bin:$PATH
这样就获取了第三方的 repo。
安卓源码下载:
1.创建源码文件夹
2.同步源码
外国源
repo init -u git://codeaurora.org/platform/manifest.git -b gingerbread
科技大学的源
repo init -u git://mirrors.ustc.edu.cn/aosp/platform/manifest -b android-6.0.0_r1
开始同步:
repo sync -j16
可能会遇到下载中断,编写一个sheel脚本
中断下载
#!/bin/bash
echo "======start repo sync======"
repo sync -j14
while [ $? == 1 ]; do
echo "======sync failed, re-sync again======"
sleep 3
repo sync -j14
done
下载好安卓源码
1.进入源码路径下
2.source build/envsetup.sh#导入需要的一些命令
3.lunch#悬着需要编译的硬件平台
4.make -jx#编译开始,-jx多线程,会生成out文件夹
下载好goldfish源码
1.修改makefile
?= (SUBARCH)
# CROSS_COMPILE?=
修改为:
ARCH ?= arm
CROSS_COMPILE ?= arm-eabi-
注意:ARTH ?=arm,的arm后边不要有空格。
2. $ source build/envsetup.sh //缺少这条指令,可能会导致无法编译通过
$ lunch full-eng //缺少这条指令,可能会导致无法启动模块器,系统报无法找到AVD,并要求你创建
3. $ make goldfish_armv7_defconfig
$ make
参考博文:
http://blog.csdn.net/flydream0/article/details/7070392