5

当尝试创建一个新的 Android 应用程序时,我可以通过整个向导直到最后,单击完成时给我一个错误:

在项目“测试”上运行构建器“Android 资源管理器”时出错。java.lang.NullPointerException

我曾多次尝试重新安装 ADT,但均无济于事。有谁知道我的问题在这里?我有我正在尝试使用的 API 的 SDK。

编辑:不确定它是否有任何帮助,但是在“安装新软件”中查看 ADT 更新站点时,我遇到了错误

从存储库读取时出错:http: //dl-ssl.google.com/android/eclipse/site.xml

谢谢,约翰

4

5 回答 5

3

我有这个错误,并最终解决了我的情况。

我目前正在运行 Mavericks 并已安装 Java 1.7.0_55 和 Eclipse Java EE Kepler SR2 64bit。我在 Eclipse 上成功安装了 ADT 插件,一切似乎都正常,但我得到了同样的结果

在项目“测试”上运行构建器“Android 资源管理器”时出错。java.lang.NullPointerException

当我尝试创建一个新的 android 应用程序项目时出错。

我最终决定安装 Java 1.6 ( http://support.apple.com/kb/DL1572 ) 和 ADT Bundle。从 ADT Bundle 运行 Eclipse 运行良好,但由于 Eclipse 使用 Java 1.7 而不是 1.6,仍然出现相同的错误。为了让 Eclipse 使用不同的版本,我添加了

<string>-vm</string><string>/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Commands/java</string>

<adt-bundle-directory>/eclipse/Eclipse.app/Contents/Info.plist. 这解决了错误,我现在可以创建一个新的 Android 项目并使用 Java 1.7 运行另一个版本的 Eclipse。(查看 Info.plist 文件中的注释以确定在何处添加选项字符串。)

出于某种原因,将我自己的 Eclipse 版本(Java EE Kepler SR2,而不是 ADT 包中的那个)设置为使用 Java 1.6 不起作用(Eclipse 不再出现 Null 指针错误,但在创建项目时会挂起)。

我想我应该从一开始就遵循 Android 的系统要求(Java 1.6),这样可以让我免于痛苦。我正在从 Windows 转换过来,使用 Java 1.7 进行 Android 开发没有问题,我错误地假设(希望)对于 MacOS 来说是正确的。

于 2014-05-25T14:50:30.573 回答
2

有同样的问题并且已经解决了,离Gavin的方法不远。

我在 -vmargs 之前在 eclipse.ini 上添加了这个而不是 Gavin

-vm
/System/Library/Frameworks/JavaVM.framework/Versions/1.6/Commands/java
于 2014-12-03T15:42:38.357 回答
1

阿尔伯特公园是对的,但我有另一种简单的方法来解决它。

首先,您需要检查您的 java 版本,如果它是 1.7.x,您只需按照这篇文章http://docs.oracle.com/javase/7/docs/webnotes/install/mac/mac-jdk 将其删除。 html

卸载 JDK 要卸载 JDK,您必须具有管理员权限并以 root 身份或使用 sudo(8) 工具执行删除命令。

导航到 /Library/Java/JavaVirtualMachines 并删除名称与以下格式匹配的目录:*

/Library/Java/JavaVirtualMachines/jdk<major>.<minor>.<macro[_update]>.jdk

例如,要卸载 7u6:

% rm -rf jdk1.7.0_06.jdk

就这样。

于 2014-05-30T04:53:03.860 回答
1

最后,我解决了这个问题。

参考 eclipse wiki ( https://wiki.eclipse.org/Eclipse.ini )

-vm 值:Mac OS X 示例 在 Mac OS X 系统上,您可以通过右键单击(或 Ctrl+单击)Finder 中的 Eclipse 可执行文件找到 eclipse.ini,选择 Show Package Contents,然后在目录下的 MacOS 文件夹。

为 OS X 指定 Java 6:

-vm /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/bin/java 对于 Mac OS X 10.7+ 的版本,位置已更改为

/Library/Java/JavaVirtualMachines/<''jdk_name_ver''>/Contents/Home/... 为了更安全,请通过实用程序 /usr/libexec/java_home 确定要使用的 JDK 的位置,并将此值与.../bin/java 附加到 Eclipse.ini 文件中。

因为我使用的是 Mac 10.10。我的java家是

/usr/libexec/java_home -V
Matching Java Virtual Machines (3):
1.7.0_71, x86_64:   "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home
1.6.0_65-b14-466.1, x86_64: "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
1.6.0_65-b14-466.1, i386:   "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home

所以我在 -vmargs 之前的 eclipse.ini 中添加以下内容

-vm
/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home/bin/java

而已!

于 2014-11-21T07:37:59.233 回答
0

尝试创建一个新的工作区。此外,不是从“site.xml”文件中读取,而是从目录本身读取。但是,如果您安装 ADT,则不需要这样做,因为该插件已经为您安装好了。如果它仍然不起作用,请在 ADT 捆绑文件夹中打开应用程序“SDK Manager”并安装所有内容。您可能需要以管理员身份运行才能执行此操作。

于 2013-08-07T01:18:42.927 回答