技术开发 频道

独辟蹊径系列 带着大家玩Android

  一、在Ubuntu 9.10上编译Android源码并使用模拟器运行

  1、编译前的准备工作,通过git获取Android的源码

  通过git获取Android的源码、配置JDK1.5环境(使用最新的JDK1.6反倒是编译不过去),准备Ubuntu 9.10必要的编译环境。

  Android是由Kernel、Dalvik、Bionic、Prebuilt、build等多个项目组成,每个部分分别使用Git进行管理,当时如果使用git命令来逐个获取显得很麻烦,所以Android项目编写了一个名为Repo的Python的脚本来统一管理这些项目的仓库,使得项目的获取更加简单。

  在Ubuntu 9.10上安装git管理工具,su - 切换到root账户下执行apt-get install git-core curl

   通过curl工具从获取Android项目Repo脚本文件。curl http://android.git.kernel.org /repo>~/repo
chmod a+x ~/repo

  下载repo脚本文件到当前用户的home目录下,并保存在文件repo中,并给repo文件可执行权限。

  执行利用repo脚本和Git、curl软件获取Android的源代码,~/repo init –u git://android.git.kernel.org/platform/manifest.git ~/repo initialized in /android这样的提示,说明本地的版本库已经初始化完毕,并且包含了当前最新的sourcecode。~/repo sync

  使用repo sync命令把整个Android代码树同步到本地

Initializing project platform/packages/apps/Browser ...
remote: Counting objects:
2015, done.
remote: Compressing objects:
100% (484/484), done.
Receiving objects:  
72% (1451/2015), 1.88 MiB | 185 KiB/s  
Initializing project platform
/packages/apps/GlobalSearch ...
remote: Counting objects:
1779, done.
remote: Compressing objects:
100% (290/290), done.
remote: Total
1779 (delta 862), reused 1779 (delta 862)
Receiving objects:
100% (1779/1779), 345.14 KiB | 118 KiB/s, done.
Resolving deltas:
100% (862/862), done.
* [new tag]         android-sdk-1.6_r1 -> android-sdk-1.6_r1
* [new tag]         android-sdk-tools_r2 -> android-sdk-tools_r2
Initializing project platform
/packages/apps/Launcher ...

Fetching projects:
100% (142/142), done.  
Checking out files:
100% (16/16), done.ng out files:  50% (8/16)  
Checking out files:
100% (8022/8022), done.ut files:  13% (1095/8022)  
Checking out files:
100% (5254/5254), done.
Checking out files:
100% (3810/3810), done.out files:   6% (232/3810)  
Checking out files:
100% (4398/4398), done.out files:  25% (1137/4398)  
Checking out files:
100% (641/641), done.g out files:  17% (110/641)  
Checking out files:
100% (9061/9061), done.out files:  22% (2056/9061)  
Checking out files:
100% (7942/7942), done.out files:   0% (33/7942)  
Checking out files:
100% (1947/1947), done. out files:   2% (44/1947)  
Syncing work tree:
100% (142/142), done.  

   repo sync同步过程,Syncing work tree说明已经同步完成。如果编译后需要获取新版本再次编译,不要重复执行初始化和sync同步过程。

0
相关文章