Android AVD 管理器:无法创建新设备定义(java.lang.NullPointerException)

9
我正在Mac OS X 10.9.3上运行最新版本的Android SDK。在此之前,我没有在这台机器上安装过Android SDK或任何其他Java开发环境,因此可以视为全新安装。
尝试使用AVD Manager创建新设备定义时,除了以下终端输出外,什么也不会发生:
java.lang.NullPointerException
    at com.android.sdkuilib.internal.widgets.DeviceCreationDialog.okPressed(DeviceCreationDialog.java:916)
    at org.eclipse.jface.dialogs.Dialog.buttonPressed(Dialog.java:472)
    at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:624)
    at org.eclipse.swt.widgets.TypedListener.handleEvent(Unknown Source)
    at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
    at org.eclipse.swt.widgets.Display.sendEvent(Unknown Source)
    at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
    at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
    at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
    at org.eclipse.swt.widgets.Widget.notifyListeners(Unknown Source)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
    at org.eclipse.jface.window.Window.runEventLoop(Window.java:825)
    at org.eclipse.jface.window.Window.open(Window.java:801)
    at com.android.sdkuilib.internal.repository.ui.DeviceManagerPage.onNewDevice(DeviceManagerPage.java:658)
    at com.android.sdkuilib.internal.repository.ui.DeviceManagerPage.access$100(DeviceManagerPage.java:97)
    at com.android.sdkuilib.internal.repository.ui.DeviceManagerPage$3.widgetSelected(DeviceManagerPage.java:215)
    at org.eclipse.swt.widgets.TypedListener.handleEvent(Unknown Source)
    at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
    at org.eclipse.swt.widgets.Display.sendEvent(Unknown Source)
    at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
    at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
    at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
    at org.eclipse.swt.widgets.Widget.notifyListeners(Unknown Source)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
    at com.android.sdkuilib.internal.repository.ui.AvdManagerWindowImpl1.open(AvdManagerWindowImpl1.java:146)
    at com.android.sdkuilib.repository.AvdManagerWindow.open(AvdManagerWindow.java:94)
    at com.android.sdkmanager.Main.showAvdManagerWindow(Main.java:437)
    at com.android.sdkmanager.Main.doAction(Main.java:379)
    at com.android.sdkmanager.Main.run(Main.java:150)
    at com.android.sdkmanager.Main.main(Main.java:116)

这是窗口的截图: AVD管理器窗口 我尝试使用android avdandroid sdk运行AVD管理器,结果相同。我能够基于通用设备定义创建一个新的AVD,但仅限于此。
这是我的问题还是我遇到了某种错误?
4个回答

18

我在Ubuntu 14.04上遇到了同样的问题。目前还没有找到任何干净的解决方案,但是作为一种临时解决方法,请尝试克隆一个现有设备,然后根据需要编辑其属性。


是的,克隆功能是有效的。但是你只能克隆通用设备。如果你尝试克隆自定义设备,克隆按钮将被禁用。 - sandalone
我们如何在Windows中进行克隆? - jahan

4

就是这样!实际上,我昨天就发现了这个错误报告,当时它大约只有6个小时。现在我只是在等待更新。 - aldavigdis

3

这是一个 bug。一个可能的解决方法是克隆一个现有的设备定义(例如 Nexus 7),然后将其设置为您需要的参数。


有任何支持链接吗? - ArnonZ

2

尝试以下方法(假设问题原因是现有AVD的配置文件损坏):

前往 ~/.android/avd

查看AVD列表。如果你认为其中一个AVD导致了问题,则输入sudo rm -r(AVD名称的唯一部分)*。

这将移除该AVD。然后重新尝试android avd命令。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接