ubuntu kylin 14.04 64位下进行Android 4.4.2 R2版本的源码编译

来源:互联网 发布:python去除重复列 编辑:程序博客网 时间:2024/05/29 16:37
还是决定把整个过程写一下吧,毕竟第一次弄出来不是很容易,算是分享一下喜悦吧。

1.安装Oracle JDK

(1)由于1.7版本的JDK不支持,如果你装了可以用下面的方法卸载:

$sudo apt-get purge openjdk-\*下载JDK :

进入 http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-javase6-419409.html,选择"Java SE Development Kit 6u45",然后在新打开的页面点选接受"Accept License Agreement". 接受之后,选择" jdk-6u45-linux-x64.bin"即可进行下载。如果你没有登录,系统会先转到登录页面,输入你在Oracle网站注册的用户名和密码即可。

接下来就是安装和环境配置。

(2)安装:

sudo mkdir /usr/lib/jvm
sudo cp jdk-6u45-linux-x64.bin /usr/lib/jvm/
cd  /usr/lib/jvm
sudo chmod 777 jdk-6u45-linux-x64.bin
sudo ./jdk-6u45-linux-x64.bin

(3)环境配置:

sudo mv jdk1.6.0_45 /jdk6
export JAVA_HOME=/usr/lib/jvm/jdk6
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
source ~/.bashrc

(3)设置JDK 为默认的JDK:

sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk6/bin/java300
sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk6/bin/javac300
sudo update-alternatives --config java

注:经过上面的一些步骤JDK算是顺利的完成了,按照上面的步骤基本上我没有出现什么问题。

更新一下ubuntu的源列表主要原因是默认的是官方的服务器,国内用户要更新点什么东西,速度慢的让你无法忍受,用国内的源以网易的为例:
备份源列表:
sudo cp /etc/apt/sources.list  /etc/apt/sources.list_bak
更改源:
sudo gedit  /etc/apt/sources.list
把原来的内容都删掉,输入如下的源(网易):
deb http://mirrors.163.com/ubuntu/ trusty main restricted universe multiverse
 
deb http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiverse
 
deb http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiverse
 
deb http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiverse
 
deb http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiverse
 
deb-src http://mirrors.163.com/ubuntu/ trusty main restricted universe multiverse
 
deb-src http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiverse
 
deb-src http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiverse
 
deb-src http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiverse
 
deb-src http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiverse
更新一下源:
sudo apt-get update

2.安装环境必备的包:

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
可能会出现点小问题如下:
The following packages have unmet dependencies:
build-essential : Depends: dpkg-dev (>= 1.13.5) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
哪个不能安装你就单独安装如上面的就必需sudo apt-get dpkg-dev install,我安装了几个这样的东西。
再来做个链接:
sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1/usr/lib/i386-linux-gnu/libGL.so

3.安装repo:

$ mkdir~/bin
$ PATH=~/bin:$PATH
$ curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
$ chmod +x ~/bin/repo
可能会出现错误:
curlhttp://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo换成curl http://git-repo.googlecode.com/files/repo-1.12 > ~/bin/repo 就可以了。注:由于防火墙的原因,官方提供的链接无法使用。
初始化Repo客服端:
避免以后出现错误建议打开 gedit /etc/hosts 添加如下的内容:
74.125.237.1   dl-ssl.google.com
74.125.71.82 www.googlesource.com 
74.125.31.82 android.googlesource.com  

203.208.46.172 cache.pack.google.com  

59.24.3.173 cache.pack.google.com

然后保存。下载android源码:
$repo init -u https://android.googlesource.com/platform/manifest -b android-4.4.2_r2
你可能会遇到要你填写邮箱的我问题,我建议最好是注册一个google邮箱,并且在你下载之前就登录着。
如果还是出现要填邮箱,那就填呗。
git config --global user.email "you@example.com" 
git config --global user.name "Your Name"
把双引号和里面的东西替换成你的邮箱就好了。 
接下来就是关键了下载源码:
$repo sync 
可能会出现其他的问题但是到这步为止,我所遇到的问题,我基本上都列出来了,如果还是有其他的问题,可以按照我上面提供的网址进行研究,并且你也可以搜索其他的网站。有人说在执行$repo sync 的过程中可能会中断,于是就写了一个脚本:
  1. #!/bin/bash    
  2. echo "======start repo sync======"    
  3. repo sync    
  4. while [ $? = 1 ]; do    
  5. echo "======sync failed, re-sync again======"    
  6. sleep 3    
  7. repo sync    
  8. done 
反正我是没有用到的,因为刚好是周末我在学校的一个专供计算学系学生使用的机房,所以网速可想而知,大概5个小时就完成了吧。最后的结果我没有截下来,但是你会看到很多100%的字样,看上去很爽。接下来是编译,其实你只要按照我提供的安装java的方法,只要耐心等待,基本上不会出现问题,即使是出现问题也是在前面的几步。
4编译:
直接使用make指令很简单:
make -j4
后面的数字基本上是你电脑的cpu核心数的两倍,可想而知我的是双核的电脑了。
如果出现问题解决后执行make clean 然后在make。
编译还有其他的方法:
初始化一下参数和变量:$ source build/envsetup.sh
定义设备类型我们使用的模拟器是(aosp_arm-eng):
执行lunch aosp_arm-eng  最后启动模拟器
$ emulator &
可能会提示你找不到emulator命令,可将如下环境变量重新初始化一遍(也就是每次重新进入系统运行的时候,都需要初始化一遍),lunch后面的参数要与你编译的ROM选项一致。
$. build/envsetup.sh 
$lunch aosp_arm-eng
我找过一些其他的方法来解决最后的这个问题,但是效果不是很好,建议用这个方法。
为了给那些像我这样的新手的人以鼓励,我在后面将会传上两张截图。




















0 0
原创粉丝点击