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

Ubuntu 10.04环境下载&编译Android-2.2.1 (froyo) 源代码 2/2 分享

2011-05-14 23:06 691 查看
文章出处:http://mantocom.blog.sohu.com/161174089.html

6

.

下载

Android

源代码


6

.1

安装

repo

脚本


首先安装
repo
。在当前用户:
~


录下新建一个
bin
目录。在终端中执行:

cd ~

mkdir bin

然后,向
PATH
中添加
bin


径:

export PATH=$PATH:~/bin

然后执行下面两行指令,下载
repo
脚本并修改可执行属性:

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 -u
git://android.git.kernel.org/platform/manifest.git –b android-2.1_r2

下载全部源码:
repo
init
-u
git://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
无权限文件的当前目录

回车

$sudo
chmod -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

编译、配置

Android
SDK


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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: