android4.0源码下载编译总结
1 弄了快一个星期的时间,搞android的源码编译。虽然说网上已经有网友提供已经下好的打包源码,但自己还是想去试试,看看android源码到底有些啥。其中参考了网上大神的诸多教程,推荐如下:http://www.cnblogs.com/hoji-real/articles/2144892.html,http://hi.baidu.com/hyemiletoe/item/0403f331f12017179cc65ed9,还有官网教程
2 抽出时间来自己写个总结,为备自己的以后的需求,也方便其他的人吧。
3 自己机子的配置:win7 64 模拟机 ubuntu12.04 32 jdk 1.6
第一步,安装虚拟机加载ununtu,自己曾经考虑过用cygwin下载源码成功过,但编译没成功,后来google啦大神们说,好像是环境不行,只好放弃了
第二步,打开终端(ctrl+shift+T)安装git,开始的ubuntu是没有自带git所以你需要初始化他的环境。
sudo apt-get install build-essential
sudo apt-get install make
sudo apt-get install gcc
sudo apt-get install g++
sudo apt-get install libc6-dev
sudo apt-get install patch
sudo apt-get install texinfo
sudo apt-get install libncurses-dev
sudo apt-get install git-core gnupg
sudo apt-get install flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl
sudo apt-get install ncurses-dev
sudo apt-get install zlib1g-dev
sudo apt-get install valgrind
sudo apt-get install python2.5
可能以上有些自带,但提示什么没有就自己下载吧
第三步 新建bin文件并赋予path路径 方便后面的使用
$ mkdir ~/bin
$ PATH=~/bin:$PATH
第四步 下载repo文件,并赋予权限
$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
$ chmod a+x ~/bin/repo
下载完成后应该有个20几kb的文件。可以自己去看一下有没有成功
第五步 新建一个存放源码的文件夹 (官网:Initializing a Repo client) 可以在home目录下,和bin目录并排,也可以在bin目录里面,后面再说其中的用处和区别
$ mkdir WORKING_DIRECTORY $ cd WORKING_DIRECTORY文件夹WORKING_DIRECTORY可以自己修改 ,我自己的就是android
第六步 初始化所有
$ repo init -u https://android.googlesource.com/platform/manifest
也可以得到固定的版本
$ repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.1_r1
第六步 开始同步 $ repo sync -jX X 代表线程数目
到此android源码的下载步骤完成,当然其中肯定会出错的(如果没出错,建议你去买彩票,中了记得分我喔),我遇到的最多的错误就是ip限制,network...
解决办法(copy的)
1. 浏览器登录https://android.googlesource.com/new-password,并用gmail帐号登录;
2. 点击网页上的“允许访问”,得到类似:
machine android.googlesource.com login git-<userName>.gmail.com password <password>
machine android-review.googlesource.com login git-<userName>.gmail.com password <password>
的信息。
3. 把上面那段信息(<userName>和<password>用自己得到的真实信息)追加到~/.netrc文件结尾(没用该文件则添加);
4. 重新打开一个终端
4. 下载地址的URI更改为https://android.googlesource.com/a/platform/manifest(中间加上了“/a”)。
5. 重新$ repo sync(遇到网络不稳定的时候也可以这么做,表现美终端没有数据走动,一直在那儿闪烁)
源码下载完成后 应该在你的源码路径及WORKING_DIRECTORY目录下有以下文件夹,如果没有,却发现该目录大小已经有几个G了,好吧,你悲剧了,这是因为它没有自动执行checkout命令,可不可以手动checkout出来目前我也没有弄出来(求大神 普及),我的解决办法是,把WORKING_DIRECTORY 文件夹建在bin 里面就好了,重新下载一次就好了。
4 好啦 下面开始android的源码编译(其实就是个配置环境和排错的过程)
1 安装jdk 如果采取官网的办法你是安装不上去的,因为sun的jdk 已经被移除,网上有好多关于ubuntu下安装jdk的教程,我就不在啰嗦了,提供自己的办法 ,直接到 www.oracle.com的官网下载,注意下载自己的合适的版本 完成后切换到该文件所在目录 $sudo install 文件名
2 配置jdk的环境变量(copy)
vim ~/.bashrc
在.bashrc中新增或整合PATH变量,如下
#java 程序开发/运行的一些环境变量
JAVA_HOME=/usr/lib/jvm/java-6-sun(改成自己的路径)
JRE_HOME=${JAVA_HOME}/jre
export ANDROID_JAVA_HOME=$JAVA_HOME
export CLASSPATH=.:${JAVA_HOME}/lib:$JRE_HOME/lib:$CLASSP ATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export JAVA_HOME;
export JRE_HOME;
export CLASSPATH;
HOME_BIN=~/bin/
export PATH=${PATH}:${JAVA_PATH}:${JRE_PATH}:${HOME_BIN};
#echo $PATH;
最后,同步这些变化:
source ~/.bashr设置完成后后检测 $ java—version 如果成功则显示当前的版本号(注意是sun的),不行的 自己接着google吧,不是很难得
3 编译源码
$ source build/envsetup.sh
$ lunch full-eng
$ make -j4第一步一般不会出错的,第二部可能会出现tools.jar 没有找到,这应该是你自己jdk没有装好吧,有时候自己把配置在这个文件里面 $ sudo gedit /etc/profile 配置好啦后 同步 $ sudo source /ect/profile 就成了。第三部 j后面参数应该是你的电脑cpu的核数 可要可不要的(额 就是没写的)
4 到此编译过程结束(简单吧),你如果其中没有出现任何错误的话,建议你 还是去买彩票,分账老规矩。这其他会出现各种各样的error,附上这些error
解决的办法收集的比较齐全的网址吧 自己对症下药吧 http://hi.baidu.com/hyemiletoe/item/0403f331f12017179cc65ed9
5 编译完成后 英应该在你的WORKING_DIRECTORY目录下 生成了一个out文件夹,里面就是编译好的源码和镜像文件
6 建一个模拟器出来看看自己编译成果吧 自己的WORKING_DIRECTORY目录下
$ emulator

浙公网安备 33010602011771号