2012-06-24 37 views
6

我发现这个Is Sun Java really necessary for using Android SDK on Ubuntu 10.10? I prefer OpenJDK但我不能在Ubuntu上构建android项目。当我尝试:如何在Ubuntu上使用openjdk构建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) 
+0

你可以在这里输出'whereis javac'吗? – nullpotent

+0

'javac:/ usr/bin/javac' - 执行'gcj'的perl脚本 – jcubic

回答

6

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

或使用命令行

# sudo apt-get install openjdk-6-jdk 
+0

很好,谢谢,我以为我有JDK,因为我能够使用compler。 – jcubic

4

Android的官方网页reccomends使用来自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的路径,就像以前一样出仓,只有path_to_jdk/

您可以通过编辑/etc/bash.bashrc或当地.bashrc修改这个变量,我建议修改下/etc

你也想从系统中删除您的实际的OpenJDK的一个。

+1

有一种方法可以从ubuntu存储库中安装sun jdk,但是我想使用open-jdk,但是无论如何感谢您的支持。 – jcubic

+0

我读到了你想要这样做的事实,但是如果Android团队建议这个工具有一个很好的理由,那么你会遇到问题和技术不同。 – user827992

+6

我曾经购买过带有Windows XP的笔记本电脑,他们推荐使用Windows,因为我更喜欢GNU/Linux,所以我仍然删除它并安装Ubuntu。 – jcubic

0

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

相关问题