按照官方手册,在ubuntu 14.04上搭建环境
sudo apt-get uuid uuid-dev
sudo apt-get zlib1g-dev liblz-dev
sudo apt-get liblzo2-2 liblzo2-dev
sudo apt-get lzop
sudo apt-get git-core curl
sudo apt-get u-boot-tools
sudo apt-get mtd-utils
sudo apt-get android-tools-fsutils
sudo apt-get openjdk-8-jdk
sudo apt-get device-tree-compiler
sudo apt-get gdisk
其中Openjdk-8-jdk不能直接安装,因为官方已经将源默认移除了,需要寄几添加,jdk不行必须要openjdk
系统可能已经安装了Sun, Oracle,jdk,可通过如下方法卸载再安装openjdk
sudo apt-get update
sudo apt-cache search java | awk '{print($1)}' | grep -E -e '^(ia32-)?(sun|oracle)-java' -e '^openjdk-' -e '^icedtea' -e '^(default|gcj)-j(re|dk)' -e '^gcj-(.*)-j(re|dk)' -e 'java-common' | xargs sudo apt-get -y remove
sudo apt-get -y autoremove
dpkg -l | grep ^rc | awk '{print($2)}' | xargs sudo apt-get -y purge
bash -c 'ls -d /home/*/.java' | xargs sudo rm -rf
rm -rf /usr/lib/jvm/*
sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update
sudo apt-get install openjdk-8-jdk
编译可以进行了,这写目录也都是可以自定义的
$ cd ~ (or any other directory you like)
$ tar xzvf imx-o8.1.0_1.3.0_8m.tar.gz
$ export PATH=${PATH}:~/bin
$ source ~/imx-o8.1.0_1.3.0_8m/imx_android_setup.sh
$ export MY_ANDROID=~/android_build
$ cd ${MY_ANDROID}
$ source build/envsetup.sh
$ lunch evk_8mq-userdebug
$ make -j8 2>&1 | tee build-log.txt
运行完source build/envsetup.sh后会提示vender/nxp的一些数据无法复制,此时手动复制过去即可
编译到4%的时候有个错误,是bision报的的一个依赖错误Libstdc++.so.6,这是一个32位的库,64位的ubuntu报错
sudo apt-get install lib32stdc++6
接着一路很顺利的编译通过
后记
如何看本地安装的jdk是Sun/Oraclejdk还是Openjdk,输入 java -version显示的版本信息为
如果是Openjdk
openjdk version "1.8.0_144"
OpenJDK Runtime Environment (build 1.8.0_144-b01)
OpenJDK 64-Bit Server VM (build 25.144-b01, mixed mode)
如果是Sun/Oraclejdk
java version "1.7.0_60"
Java(TM) SE Runtime Environment (build 1.7.0_60-b19)
Java HotSpot(TM) 64-Bit Server VM (build 24.60-b09, mixed mode)
安装Sun/Oraclejdk
jdk7sudo apt-get install oracle-java7-installer
jdk8sudo apt-get install oracle-java8-installer
如果即安装了jdk7,又安装了jdk8,要实现两者的切换,可以:
jdk8 切换到jdk7
sudo update-java-alternatives -s java-7-oracle
jdk7 切换到jdk8
sudo update-java-alternatives -s java-8-oracle