编译android4.0出现jdk版本问题 & 服务器系统变量配置

其实关于jdk,你就关心三方面:

1、32位还是64位

2、1.6还是1.7版本

3、环境变量设在/etc/profile里面就好了


编译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(这里是32位的),特别要注意自己的主机是多少位的

以下这一段是32位的安装步骤:
=======================================================================================================================

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_45/


安装完成后调整环境变量

gedit ~/.bashrc
文件末尾添加如下描述信息:
export JAVA_HOME=/usr/lib/jdk/jdk1.6.0_45
export JRE_HOME=/usr/lib/jdk/jdk1.6.0_45/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,并非最新版本就合适,找到真正对应的版本才能正确编译。

 

我一台64位服务器安装jdk6使用的是jdk-6u37-linux-x64.bin

 

~/.bashrc是用户变量修改的地方

编译服务器应该系统环境变量,应该是root权限登陆修改/etc/profile,修改完成后,客户端重新登陆验证,各客户端需要. /etc/profile方式同步一下

你可能感兴趣的:(软件调试,UBUNTU,Android)