java - Eclipse (ADT) 中的内存错误 - 错误的 Java 版本?

标签 java android eclipse adt

我使用的是 Ubuntu 12.04,64 位。 我最近将我的 Java 更新为 Java 7:

isa@Daemon:~$ java -version
java version "1.7.0_60"
Java(TM) SE Runtime Environment (build 1.7.0_60-b19)
Java HotSpot(TM) 64-Bit Server VM (build 24.60-b09, mixed mode)

在此之后,我的 ADT 包停止工作。

当我打开 eclipse 时,出现以下错误: first error

当我点击“确定”时,会出现其他错误,例如 other errors nice error

它开始非常努力地工作(笔记本电脑变热),有时它会停止响应,我不得不强行退出它。 它是新安装的 adt 包版本(来自:http://developer.android.com/sdk/index.html)

我真的不知道该怎么办。它在更新到 java7 之前工作(是的,我已经安装了 32-libs)。 Google 告诉我,我得到的第一个错误是内存不足错误,但更改 eclipse 的堆大小不能解决问题,因为它在更新之前有效。我认为我的 java 版本有问题。

顺便说一下:我在同一台笔记本电脑上使用其他版本的 Eclipse (Indigo)。这个版本没有任何问题。

附:eclipse.ini:

-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20130327-1440.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.200.v20130807-1835
-product
com.android.ide.eclipse.adt.package.product
-showsplash
com.android.ide.eclipse.adt.package.product
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=1.7
-XX:MaxPermSize=256m
-Xms40m
-Xmx768m
-Declipse.buildId=v22.6.2-1085508
-XX:MaxPermSize=512M

和错误日志的一部分(我不会在这里粘贴所有 >10000 行来打扰你) http://pastebin.com/i7dUfg4h

编辑:更改 eclipse 使用的虚拟机后,这些错误消失了,但是当我尝试构建项目(在 android 设备上启动)时,我在终端中收到以下错误: terminal errors

然后 eclipse 决定终止。

我很感激任何提示! 伊萨

最佳答案

您是使用非官方 PPA 进行升级还是手动安装?您是否删除了(我假设)OpenJdk1.6 的所有痕迹?

您可以根据需要安装任意多个 Java 版本。您可以使用 update-alternatives --config java 配置操作系统默认使用的选项您可以手动配置各个程序以使用您喜欢的任何版本,方法是使用您喜欢的任何版本的路径。

您真的应该在 eclipse.ini 中指定 eclipse 使用的 JVM也许这就是这个损坏的安装所做的。也许它指向已删除的 1.6 JDK。重要的是您要控制您的开发环境,而不是依赖操作系统的默认值,这些默认值有时会发生不可预见或未知的变化,例如这样。

Here is a link配置文件的解释,但你需要做的是通过它查看 Eclipse 正在寻找的位置(如果有的话)使用 -vm 获取和配置 JVM。和 -vmargs .

您应该定义所需 JVM 的位置:

--vm /path/to/java/bin/java

您也可以使用 -XX:MaxPermSize 调整其他选项中的内存分配。 , -Xms , -Xmx .

同样,请参阅链接的 wiki 了解详细信息。

您的工作区或安装也可能已损坏。您可以尝试创建一个新的工作区,甚至安装一个新的 Eclipse。
您还可以使用 -clean 启动 Eclipse。 (可能是 --clean,不记得了)将其重置为默认值。

由于错误指向 ADT,您可能只需要 reinstalling that .

关于java - Eclipse (ADT) 中的内存错误 - 错误的 Java 版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23981859/

相关文章:

java - 将作用域 bean Autowiring /注入(inject)到 Controller 方法中

java - mockito 和 jetty-client : receiving NullPointerException when start() and stop() methods are invoked

Java 抽象类或静态实用程序类设计选择

Android:无法导出应用程序,错误为 -1073741819

java - 将 clojure 作为 JAVA 文件运行

java - 直接绘制到 Canvas 并使用 java 代码创建布局

android - ListView 上的按钮我想使用 button.setonclicklistener 和 onListItemClick 我需要做什么

java - 如何通过 JNI 创建 HashMap<String, String> 然后解析为 java

java - 尝试请求 JSF 页面时获取 404 状态

java - 为什么我的 AVD 管理器不碰任何东西? ADT v22.2.1-833290