目的:能够编译android5.1.1
现状:已经安装了ubuntu12.04LTS 64位系统
步骤:
1. 安装Android5.1环境编译需要的相关包
sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32z-dev libgl1- mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc lib32readline-gplv2-dev
2. 安装openJDK
sudo apt-get install openjdk-7-jre
sudo apt-get install openjdk-7-jdk
注:安装是使用sudo apt-get install default-jre 和 sudo apt-get install default-jdk;默认安装的版本是1.6.0_38。 在编译android时报错 提示jdk版本过低,后自己又升级到1.7.0版。这里记录下jdk升级步骤
升级方法:(只介绍自己使用的方法,也是借鉴于百度之上)
使用命令安装高版本jdk:sudo apt-get install openjdk-7-jre openjdk-7-jdk
添加jdk: udate-alternatives --install /usr/bin/java java /usr/lib/jvm/java/jdk1.7.0/bin/java 300;
udate-alternatives --install /usr/bin/javac javac /usr/lib/jvm/java/jdk1.7.0/bin/javac 300;
查看并修改Ubuntu的jdk菜单 并修改默认版本
update-alternatives --config java
update-alternatives --config javac
使用命令查看当前jdk版本,看是否成功。命令:java -version,javac -version
3. 设置环境变量
sudo gedit /etc/profile
export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-amd64</span>
export CLASSPATH=".:$JAVA_HOME/lib:$CLASSPATH"
export PATH="$JAVA_HOME/bin:$PATH"
sudo gedit /etc/environment添加相应的path路径(如:PATH=“/usr/bin:*****:/usr/lib/jvm/java-1.7.0-openjdk-amd64/bin”)
source /etc/environment 使修改后的环境变量立即生效
到此,编译环境已搭建完成。到在后续的编译过程中出现了几处错误,具体如下
1. 错误提示:bin/sh arm-Linux-gnueabi-arm-Linux-gnueabi-gcc not found。
自己在百度上找了一番,大致是说未安装交叉编译器或交叉编译器的路径配置不正确。于是自己安装了 arm-Linux-gcc 4.5.1,arm-linux-gnueabi-gcc 4.8.3.结果还是提示同样的错误。纠结了半天后,查看/usr/bin 下并没有这编译器,果断将交叉编译器软连接名改为arm-Linux-gnueabi-arm-Linux-gnueabi-gcc 再次编译不报错,也算是解决了。具体操作如下:
进入 /usr/bin, cd /usr/bin
删除原有的软连接: rm -rf arm-Linux-gnueabi-gcc
重新生成软件了:ln s arm-Linux-gnueabi-gcc-4.6 arm-Linux-gnueabi-arm-Linux-gnueabi-gcc
2. 错误提示:awk: line 2: function strtonum never defined
awk: line 2: function strtonum never defined
网上查到的资料此类错误是因为缺失库文件。直接安装即可,apt-get install gawk