1.获取Android源代码
Android官网给出了从网上下载源代码的方法,具体流程如下网址所示:http://source.android.com/source/downloading.html
按照上面的方法,我寝室10M的网,一晚上不知道下载了多少,每次repo sync都感觉会和服务器断开连接,然后果断放弃了从官网下载源代码的想法,直接在网上下载别人已经下载好的代码:http://115.com/lb/5lbqyjx7
2.安装编译需要的工具
官网给的流程,可以参考一下:http://source.android.com/source/initializing.html
JDK
貌似很早之前Ubuntu里面的JDK就被换成了open-jdk,试了下官网给的方法:
$ sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner" $ sudo apt-get update $ sudo apt-get install sun-java6-jdk
结果不怎么给力,好像也安装不了,记得以前可以的...直接去oracle网站下载JDK,现在一进入下载就只有JDK1.7的,找了一下JDK1.6的下载地址,如下:http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase6-419409.html#jdk-6u45-oth-JPR,我记得我当时下载是单独注册了一个账号的,没有账号不让下载,太TM坑爹了。
有了安装bin安装文件,我是直接放在我的用户目录下面的,然后执行:
$chmod +x jdk-6u45-linux-x64.bin
$./jdk-6u45-linux-x64.bin
执行后会在用户目录里面生成jdk目录:/home/chadm/jdk1.6.0_45。然后配置Java环境,执行命令:
~$ sudo gedit /etc/profile
在文件尾加上:
export JAVA_HOME=/home/chadm/jdk1.6.0_45
export JRE_HOME=/home/chadm/jdk1.6.0_45/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$JAVA_HOME:$PATH
保存文件,然后执行:source /etc/profile。
运行java -version和javac -version
安装需要的包
$ sudo apt-get install git gnupg flex bison gperf build-essential \ zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \ libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \ libgl1-mesa-dev g++-multilib mingw32 tofrodos \ python-markdown libxml2-utils xsltproc zlib1g-dev:i386 $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1/usr/lib/i386-linux-gnu/libGL.so
直接复制运行会出现如下错误:
下列软件包有未满足的依赖关系:
libgl1-mesa-glx:i386 : 依赖: libglapi-mesa:i386 (= 8.0.4-0ubuntu0.6)
推荐: libgl1-mesa-dri:i386 (>= 7.2)
E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系
将里面的libgl1-mesa-glx:i386修改为 libgl1-mesa-dri:i386,运行后可以正常安装
3.编译Android源代码
官网给的文档 http://source.android.com/source/building-running.html
运行如下指令:
. build/envsetup.sh lunch full-eng make -j4
编译的时候出现问题了,提示使用make update-api,然后再使用make -j4