如何在Ubuntu上使用openjdk构建android项目?

时间:2012-06-24 14:36:59

标签: android ubuntu openjdk

我发现了这个Is Sun Java really necessary for using Android SDK on Ubuntu 10.10? I prefer OpenJDK,但我无法在Ubuntu上构建android项目。当我尝试:

$ ant debug

我得到了:

Unable to locate tools.jar. Expected to find it in /usr/lib/jvm/java-6-openjdk/lib/tools.jar

...

BUILD FAILED
/home/kuba/projects/Android/android-sdk-linux/tools/ant/build.xml:651: The following error occurred while executing this line:
/home/kuba/projects/Android/android-sdk-linux/tools/ant/build.xml:672: Unable to find a javac compiler;
com.sun.tools.javac.Main is not on the classpath.
Perhaps JAVA_HOME does not point to the JDK.
It is currently set to "/usr/lib/jvm/java-6-openjdk/jre"

我有java版本:

$ java -version
java version "1.6.0_20"
OpenJDK Runtime Environment (IcedTea6 1.9.13) (6b20-1.9.13-0ubuntu1~10.10.1)
OpenJDK Client VM (build 19.0-b09, mixed mode, sharing)

3 个答案:

答案 0 :(得分:6)

确保已安装openjdk JDK。默认情况下,您可能只安装了JRE。如果您打开Synaptic,请搜索openjdk,然后您会看到JDKJRE。选择JDK包并安装。我认为实际的包名是openjdk-6-jdk

或使用命令行

# sudo apt-get install openjdk-6-jdk

答案 1 :(得分:4)

Android的官方网页建议使用Sun / Oracle的官方JDK,您可以在http://www.oracle.com/technetwork/java/javase/downloads/index.html下载,但OpenJDK的使用不受支持且非常不推荐。

你不需要在你的系统中安装官方JDK,如果这是你要担心的,只需下载你选择的JDK的* .bin版本(我建议1.6版本),解压缩所有内容在终端中执行* .bin,只修改2个环境变量:

  • PATH,将jdk可执行文件path_to_jdk/bin/的路径添加到PATH
  • JAVA_HOME,将JAVA_HOME设置为jdk的通用路径,而不是binlib路径,就像之前没有bin一样,只有path_to_jdk /

您可以修改/etc/bash.bashrc或本地.bashrc来修改此变量,我建议您修改/etc

下的变量

您还想从系统中删除实际的OpenJDK。

答案 2 :(得分:0)

我通过安装gcj-jdk修复了相同的错误(在Debian / Ubuntu中)。 在安装此软件包之前,我有java-7-openjdk,但其目录中没有tools.jar。 安装gcj-jdk后,我找到了tools.jar,并在ant想要的目录中创建了一个符号链接。