NXP

编译iMX8安卓源代码笔记

2019-07-12 12:11发布

按照官方手册,在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
jdk7
sudo apt-get install oracle-java7-installer
jdk8
sudo 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