1. 程式人生 > >ubuntu16.04編譯Android6.0環境

ubuntu16.04編譯Android6.0環境

Android6.0需要JDK7,安裝JDK7用如下命令在root許可權下。

add-apt-repository ppa:openjdk-r/ppa 
apt-get update
apt-get install openjdk-7-jdk

配置環境變數,在可以直接在/etc/profile下直接新增,或者在profile.d資料夾下新建自己的環境變數sh指令碼,推薦用此方法,便於後期新增其他環境變數

export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
export JRE_HOME=${JAVA_HOME}/jre 
export CLASSPATH=.:${JAVA_HOME}
/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH

在使能環境變數

source /etc/profile

檢查是否新增成功

java -version

如下則成功

java version "1.7.0_95"
OpenJDK Runtime Environment (IcedTea 2.6.4) (7u95-2.6.4-3)
OpenJDK 64-Bit Server VM (build 24.95-b01, mixed mode)

編譯過程提升沒有gcc,檢視/usr/lib/gcc下有5.4.0的gcc,shell下輸入gcc -v提示無gcc?
最後用gcc-5 -v才有版本輸出,推測是缺少依賴,輸入如下

sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip m4

安裝完gcc -v顯示版本,繼續編譯提示

clang erro:linker command failed
with exit code 1

將 art/build/Android.common_build.mk下的
ifneq ((WITHOUTHOSTCLANG),trueifeq((WITHOUT_HOST_CLANG),false)
從新編譯提示api未更新,
按提示命令更新API在編譯成功