您的位置:首页 > 移动开发 > Android开发

Ubuntu 10.04环境下载&编译Android-2.2.1

2012-12-03 10:01 543 查看
首先安装repo。在当前用户:~目录下新建一个bin目录。在终端中执行:
cd ~
mkdir bin
然后,向PATH中添加bin路径:
export PATH=$PATH:~/bin
然后执行下面两行指令,下载repo脚本并修改可执行属性:(具体请参考文档:http://source.android.com/source/downloading.html

curl https://android.git.kernel.org/repo >~/bin/repo
chmod a+x ~/bin/repo
6.2初始化repo
首先建立一个目录用来存放Android源代码:
mkdir mydroid
cd mydroid
然后用最新的列表执行初始化。这里偶下载android 2.2.1(froyo),因此加了参数 –b froyo:(android
2.2.2(froyo)源码下载:2G多

repo init -u git://android.git.kernel.org/platform/manifest.git-b froyo
)

(下载2.1_r2源码
repo init -ugit://android.git.kernel.org/platform/manifest.git –b android-2.1_r2
下载全部源码:repoinit -ugit://android.git.kernel.org/platform/manifest.git)
(下载2.0源码:

repo init -u git://android.git.kernel.org/platform/manifest.git –b eclair )

(上面下载2.0时有个莫名其妙的问题:

ynb@ynb-pc:~/bin$ repo init -u git://android.git.kernel.org/platform/manifest.git –b eclair

Usage: repo init -u url [options]

出现上面问题,删除mydroid目录:rmdir mydroid ; mkdir mydroid2.0 ; cd mydroid2.0;

再:repo init -u git://android.git.kernel.org/platform/manifest.git -b eclair 就可以了)

(如果能通过浏览器浏览到android源码的主页,但运行repo init或repo
sync的时候,却没法下载源码,形如:

只需要把git开头的地址改为http即可:

[1]

repo init -u http://android.git.kernel.org/platform/manifest.git-b froyo

[2]修改manifest.git里的地址,也是把git://改为http://

vim .repo/manifest.git

如:

<?xml version="1.0" encoding="UTF-8"?>

<manifest>

<remote name="korg"

fetch="http://android.git.kernel.org/"

review="review.source.android.com" />

<default revision="froyo"

remote="korg" /> )

这中间会问到你的名字和Email。如果你打算上传代码,Email须是一个Google账户。
repo初始化成功后会看到类似于下面的提示:
repo initialized in /home/(当前用户名)/mydroid
最后执行$repo sync开始同步代码。过程比较漫长,下载速度取决于你的网速(偶的3-4小时左右),中间有可能遇到断线,重新执行repo
sync即可断点续传。
7.编译Android源代码

7.1编译生成镜像

切换到android源码根目录下,执行$sudo make即可。首次编译非常耗时,取决于机器配置,大约需要2-3小时。有可能会出现:“Permission
denied (权限拒绝的提示)”请命令赋予权限:$cd无权限文件的当前目录回车; $sudochmod
-R +rwx * 回车;完成后镜像生成在/root/mydroid/out/target/product/generic下:android源码编译后得到system.img,ramdisk.img,userdata.img映像文件。其中,
ramdisk.img是emulator的文件系统,system.img包括了主要的包、库等文件,userdata.img包括了一些用户数据,emulator加载这3个映像文件后,会把
system和 userdata分别加载到 ramdisk文件系统中的system和
userdata目录下。
7.2
编译、配置AndroidSDK

make编译完成后,执行$sudo make sdk命令,生成对应于该版本源代码的sdk,此过程用的时间偶的是10多分钟。注意这个sdk不能用于生产环境。
用于生产环境的最好用如下命令:$sudo make PRODUCT-sdk-sdk命令,生成对应于该版本源代码的用于生产环境的sdk,此过程用的时间偶的是1个多小时。
Android官方的SDK和偶自己编译Android源码时使用make
sdk编译出的SDK有区别,模拟器版本不同,加载的默认镜像也不同(一个是官方的,一个是自己编译的)。下面将展示如何能够自由切换SDK版本。
首先是自己编译的SDK版本,实际位置是(注意权限:
$cd ~/mydroid/out/host/linux-x86/sdk 回车,$ sudo chmod -R a+wrx *回车 )

~/mydroid/out/host/linux-x86/sdk/android-sdk_eng.root_linux-x86
8.在模拟器中运行编译的镜像
打开终端,执行android脚本:
$android
出现下图所示窗口:

选择左边第一项Virtual Devices,然后在右边选择New,新建一个AVD。
Name:AVD的名称,随便取,但只能包含字母和数字以及点、下划线和连字符,这里取名test。
Traget:目标SDK版本,这里选自己编译的2.1-r1版Android
SDK。
SD Card:SD卡。暂且不填,待需要时再设置。
Skin:皮肤(模拟器屏幕分辨率)。
Hardware:使用默认即可
然后点Create AVD,就创建好了一个AVD。点击Start即可启动模拟器,其运行的是自己编译的镜像。

若以后要再次启动此AVD,请在终端中运行:
emulator –avd test 或者emulator @test
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: