ubuntukylin 下编译 android4.4

http://source.android.com/source/initializing.html 官网操作方法

 

说明:本次是下载android4.4最新源码并编译的过程,

环境:本次使用UbuntuKylin发布的长期支持系统14.04

 

前提条件:

1 系统:Linux/ Ubuntu / Mac OS == (2.3.x以上必须使用64位),至少30GB 的硬盘存储空间,有可能达到100GB以上在编译中,其中源码下载后总共大约8.5GB ,

2 网络条件:有google帐号,国内容易被墙,所以。。。

3 软件环境:jdk,git,python,curl,make, ==

电脑配置越好,速度也就越快了-_-!

 

一.设置编译环境

 1 . 使用ubuntu 10.04版本以上,对以android 2.3.x以上的版本,必须使用64位的环境,比较老的则可以在32位环境下编译。

也可以在虚拟机下编译android,但是你的机器至少有16gb内存,这个就不大现实了吧,一般人的机器还是没那么高配的,所以忽略不看。

2.安装JDK,最新的源码编译需要java7,当然也可以用6版本,但是最新的总是有好处的,所以就用7.因为版权问题,推荐在ubuntu下安装OpenJDK即可,当然也可以使用标准oracle的JDK.  在终端下输入 sudo apt-get install openjdk-7-jdk ,输入密码,一路yes安装即可。

如果提提示成功,试下这个命令,那么才是真的成功了,

java -version
java version "1.7.0_51"
OpenJDK Runtime Environment (IcedTea 2.4.6) (7u51-2.4.6-1ubuntu4)
OpenJDK 64-Bit Server VM (build 24.51-b03, mixed mode)

3. 安装一些必要的工具

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

4 设置缓存

 在当前用户目录下找到.bashrc写入 export USE_CCACHE=1

默认缓存目录为当前用户下的.ccache目录,一般使用默认即可,如果有特殊情况则设置缓存目录, export CCACHE_DIR=your_cache_dir

建议缓存大小为50~100GB 

 

5.输出目录

默认下输出目录在你下载源码的子目录下 out

如果把输出目录设置为另外一个不同的盘,则编译速度会快很多,

export OUT_DIR_COMMON_BASE=your_out_dir

 

二.下载源码

1 下面是下载源码前的准备过程

新建一个目录用于存放下载用到的工具

mkdir ~/bin    在当前用户下新建一个bin目录

PATH=~/bin:$PATH    使用临时的path,可以在.bashrc中写入 下面这句永久生效

export PATH="$PATH:/home/user/bin/:."   没个之间使用:分开,最后一个是.表示当前目录

2 下载源码工具之repo

大家都知道一般源码是存放git上的,但是考虑到众多的android分支及各个功能,那是有一大堆git等着你去clone啊,那还不是要你的命,因此google把这些git地址写成了一个repo,其实里面也就是那些git地址了,只不过方便我们使用.

正常情况下使用下面的这句

 curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo

但是在china网络就是喜欢抽风,当失败时可以试下这个

curl http://git-repo.googlecode.com/files/repo-1.19 > ~/bin/repo

把文件下载到bin目录下,下载完成后 chmod a+~/bin/repo  增加可执行权限 ,可以试一下 输入repo命令,看输出就知道成功没.

3.新建目录用于存放源码的目录,进入该目录下

获取最新的版本  http://source.android.com/source/build-numbers.html 这里查看最新的版本对应的名字

repo init -u https://android.googlesource.com/platform/manifest -b android-4.4.2_r2

出现了如下错误提示

别急,把你当前目录下的.repoconfig删除

rm -rf .repoconfig

https://android.googlesource.com/new-password 到这里验证一下你的身份,把得到的以machine 两行开始的 复制保存为.netrc ,(有个点,表示为隐藏的文件)保存到你的目录下,

再次执行(中间加了个/a  )

repo init -u https://android.googlesource.com/a/platform/manifest -b android-4.4.2_r2   (下载原生的android)

如果是下载CM11的话就用

cm_repo 下载,用法和上面的一样,只是区分了命名而已,且这个不用那么麻烦

cm_repo  init -u git://github.com/CyanogenMod/android.git -b cm-11.0  (下载CM的源码)

等待完成

4 正是开始下载源码中

先用这个脚本保存到前面那个bin目录下,加执行权限

download.sh

 #!/bin/bash     

    echo "======start repo sync======"     

    repo sync     

    while [ $? == 1 ]; do     

    echo "======sync failed, re-sync again======"     

    sleep 3     

    repo sync     

    done 

 用这个shell代替直接使用repo sync,这个网络问题很容易出问题,需要不停的操作,所以这个shell就可以解决问题了

 

用上一天半天的时间,让机子下载去吧.

 

 

 

ubuntukylin 下编译 android4.4,,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。