编译Android内核时需要进行一些关于jdk的配置。记录备忘。
编译环境:ubuntu 12.04
1.编译Android内核需要的jdk版本是JDK SE 1.6。如果以前安装过其他版本的jdk,则需要先将其卸载:
#查看已安装的jdk
$ sudo dpkg --list jdk
可以列出已安装的jdk。然后卸载之:
#卸载jdk
$ sudo apt-get --purge remove <your jdk>
2.下载JDK SE 1.6。官网上的JDK SE 1.6版本都是rpm或rpm.bin格式的,在ubuntu下安装需要借助一个工具:alien
#安装jdk
sudo alien -i jdk-6u37-linux-amd64.rpm
3.配置环境变量。将如下内容加入到/etc/profile配置文件:
export JAVA_HOME=/usr/java/jdk1.6.0_37
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
4.测试jdk。输入:
java -version
如果 出现错误提示 :
Error occurred during initialization of VM
java/lang/NoClassDefFoundError: java/lang/Object
这是因为lib/tools.ar和jre/lib/rt.jar没有被解压。执行如下命令进行解压:
cd java_home/lib
/usr/java/jdk1.6.0_37/bin/unpack200 tools.pack tools.jar
cd jre_home/lib
/usr/java/jdk1.6.0_37/bin/unpack200 rt.pack rt.jar