编译android4.0,提示错误信息:
Checking build tools versions...
************************************************************
You are attempting to build with the incorrect version
of java.
 
Your version is: java version "1.6.0_27".
The correct version is: Java SE 1.6.
 
Please follow the machine setup instructions at
    http://source.android.com/source/download.html
************************************************************
build/core/main.mk:131: *** stop.  Stop.


查看系统本身的java版本:
java -version
打印信息如下:
java version "1.6.0_27"
OpenJDK Runtime Environment (IcedTea6 1.12.3) (6b27-1.12.3-0ubuntu1~10.04)
OpenJDK Server VM (build 20.0-b12, mixed mode)


如上,需升级jdk,详细步骤如下描述:
从http://www.oracle.com/technetwork/java/javase/downloads/index.html下载的jdk-7u17-linux-i586.tar.gz,特别要注意自己的主机是多少位的


sudo chmod -R 777 /usr/lib/
cd /usr/lib
mkdir jdk
将下载的jdk-7u17-linux-i586.tar.gz解压到到jdk目录
将jdk1.7.0_17目录中的文件全部解锁
sudo chmod -R 777 /usr/lib/jdk/jdk1.7.0_17/


gedit ~/.bashrc
文件末尾添加如下描述信息:
export JAVA_HOME=/usr/lib/jdk/jdk1.7.0_17
export JRE_HOME=/usr/lib/jdk/jdk1.7.0_17/jre
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export CLASSPATH=$CLASSPATH:.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib


同步一下:
. ~/.bashrc

update-alternatives --install /usr/bin/java java /usr/lib/jdk/jdk1.7.0_17/bin/java 300

update-alternatives --install /usr/bin/javac javac /usr/lib/jdk/jdk1.7.0_17/bin/javac 300


确认一下路径:
printenv JAVA_HOME


java -version
打印:
java version "1.7.0_17"
Java(TM) SE Runtime Environment (build 1.7.0_17-b02)
Java HotSpot(TM) Server VM (build 23.7-b01, mixed mode)


若打印如下信息,是jdk对应位数(64/32)和实际操作系统的位数不符,需重新下载

bash: /usr/lib/jdk/jdk1.7.0_17/bin/java: cannot execute binary file


结果发现jdk1.7版本用不了,那只能下载最新的1.6的版本

下载并拷贝jdk-6u43-linux-i586.bin到/usr/lib/jdk


必须改权限,不然以下命令无法执行
chmod 777 jdk-6u43-linux-i586.bin


安装
./jdk-6u43-linux-i586.bin


将jdk1.6.0_43目录中的文件全部解锁
sudo chmod -R 777 /usr/lib/jdk/jdk1.6.0_43/


安装完成后调整环境变量

gedit ~/.bashrc
文件末尾添加如下描述信息:
export JAVA_HOME=/usr/lib/jdk/jdk1.6.0_43
export JRE_HOME=/usr/lib/jdk/jdk1.6.0_43/jre
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export CLASSPATH=$CLASSPATH:.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib


同步一下:
. ~/.bashrc


update-alternatives --install /usr/bin/java java /usr/lib/jdk/jdk1.6.0_43/bin/java 300

以下打印忽略:

update-alternatives: error: 无法写进 /var/lib/dpkg/alternatives/java.dpkg-tmp:Permission denied


update-alternatives --install /usr/bin/javac javac /usr/lib/jdk/jdk1.6.0_43/bin/javac 300

以下打印忽略:

update-alternatives: error: 无法写进 /var/lib/dpkg/alternatives/javac.dpkg-tmp:Permission denied


前两天听一个报告,android2.2之前的使用jdk1.5,android2.3之后的使用jdk1.6,并非最新版本就合适,找到真正对应的版本才能正确编译。


更多相关文章

  1. ant打包游戏时报错
  2. 三、ANDROID SDK下文件解析
  3. Gradle相关问题
  4. Android--电商首页的分页导航
  5. flutter使用C代码库----android篇
  6. Ubuntu 16.04 编译全志6.0Android源码
  7. android 在xml布局文件中 ImageView ImageButton出现警告
  8. Android(安卓)实现button点击效果的两种方法
  9. Android(安卓)——游戏开发之文字冒险游戏

随机推荐

  1. Android之Intent分析
  2. Android(安卓)Studio下jni应用
  3. [深度报道]Android国内开发者陷盈利困局
  4. drawRoundRect方法:绘制圆角矩形
  5. Vue3使用Proxy实现数据监听的原因分析
  6. element ui表格实现下拉筛选功能
  7. OpenHarmony-RK3568开发板操作梳理
  8. 实例演示属性与方法重载、 实例演示命名
  9. Vue 搭建Vuex环境详解
  10. Vue自定义指令详解