源码库编译全过程及示例
获取源码(也可以直接从别的地方拷贝代码放到固定路径下,如果直接拷贝就不用下面前5步了)
1:修改root权限密码。修改Ubuntu的登陆设置,首先用sudopasswdroot设置root账户密码,输入两次,然后修改/etc/gdm/gdm.conf文件的AllowRoot=false字段,改成AllowRoot=true,然后重启电脑。注修改gdm.conf文件需要root权限,所以最好使用root帐号在vim中修改。
2:进入需要编译的代码所在的目录下。
3:安装curl和git-core。sudoapt-getinstallgit-corecurl
注:在Ubuntu8.04上安装Git只需要设定正确的更新源,然后使用apt-get就可以了,apt-get是一条Linux命令,主要用于自动从互联网的软件仓库中搜索、安装、升级、卸载软件或操作系统。apt-get命令一般需要root权限执行,所以一般跟着sudo命令。)
4:获取repo脚本。curlhttp://android.git.kernel.org/repo/bin/repo。因为前面已经对root密码进行了修改,并且对gdm.conf文件中的AllowRoot=true。
5:获取Android源码。./repoinit-ugit://android.git.kernel.org/platform/manifest.git。(注,因为repo是安装在当前目录下,所以如果要用repo则使用.repo)。
编译源码
6:使用make-j2命令编译。中间出现一些警告信息无所谓,只要不报错停止运行就Ok了。如果出现了新建或覆盖了旧的Api的提示时多半是因为没有和服务器上的代码同步(使用git工具)。应该重新更新自己从服务器上下载的代码,然后再make-j2。
7:cdpackages/providers/
gitpull
gitcheckoutContactsProvider
cd..
./tools/repo.git/reposync//异步更新代码
cdframeworks/base/
gitstatus
gitcheckoutapi/current.xml
cdpackages/apps/Contacts/
gitstatus
rmsrc/com/android/contacts/EmergencyContact.java~src/com/android/contacts/Group.java~
gitcheckoutsrc/com/android/contacts/AddGroup.javasrc/com/android/contacts/ContactsListActivity.javasrc/com/android/contacts/Group.java
./tools/repo.git/reposync
make-j2