【问题标题】:NullPointerException when run with Intellij IDEA new libgdx project for android使用适用于 Android 的 Intellij IDEA 新 libgdx 项目运行时出现 NullPointerException
【发布时间】:2014-10-31 17:50:01
【问题描述】:

重现步骤:

  • 下载setur.jar - http://libgdx.badlogicgames.com/download.html
  • 为桌面、Android、iOS、HTML 生成项目
  • 打开 Intellij IDEA,按 Open,然后选择 build.gradle
  • 等一下 gradle 会做员工然后运行 ​​android 项目

我遇到了一些奇怪的问题:

  • 15:32:20 编译在 11 秒内成功完成
  • 15:32:20 NullPointerException: null
  • 15:32:30 错误报告 提交反馈时出错:null 考虑在 Android 问题跟踪器中创建问题

如果我按 NullPointerException(链接),则会出现消息和堆栈跟踪:

消息:插件 Android 支持中的异常。 x 分钟前。自上次清除后出现 2 次。禁用插件...

堆栈跟踪:

java.lang.NullPointerException
    at com.sun.proxy.$Proxy169.getMinSdkVersion(Unknown Source)
    at com.android.tools.idea.model.AndroidModuleInfo.getMinSdkVersion(AndroidModuleInfo.java:71)
    at org.jetbrains.android.facet.AndroidFacet.canRunOnDevice(AndroidFacet.java:560)
    at org.jetbrains.android.facet.AndroidFacet.isCompatibleDevice(AndroidFacet.java:536)
    at org.jetbrains.android.run.DeviceChooser$MyDeviceTableModel.getValueAt(DeviceChooser.java:352)
    at javax.swing.JTable.getValueAt(JTable.java:2716)
    at com.intellij.ui.table.JBTable.getRowHeight(JBTable.java:149)
    at javax.swing.JTable.getRowHeight(JTable.java:993)
    at javax.swing.JTable.getCellRect(JTable.java:2936)
    at javax.swing.JTable.valueChanged(JTable.java:4697)
    at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:184)
    at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:164)
    at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:211)
    at javax.swing.DefaultListSelectionModel.changeSelection(DefaultListSelectionModel.java:405)
    at javax.swing.DefaultListSelectionModel.changeSelection(DefaultListSelectionModel.java:415)
    at javax.swing.DefaultListSelectionModel.setSelectionInterval(DefaultListSelectionModel.java:459)
    at org.jetbrains.android.run.DeviceChooser.updateTable(DeviceChooser.java:227)
    at org.jetbrains.android.run.DeviceChooser.init(DeviceChooser.java:150)
    at org.jetbrains.android.run.ExtendedDeviceChooserDialog.<init>(ExtendedDeviceChooserDialog.java:124)
    at org.jetbrains.android.run.AndroidRunningState.execute(AndroidRunningState.java:245)
    at com.intellij.execution.runners.DefaultProgramRunner.doExecute(DefaultProgramRunner.java:38)
    at org.jetbrains.android.run.AndroidDebugRunner.doExec(AndroidDebugRunner.java:144)
    at org.jetbrains.android.run.AndroidDebugRunner.doExecute(AndroidDebugRunner.java:135)
    at com.intellij.execution.runners.GenericProgramRunner$1.execute(GenericProgramRunner.java:48)
    at com.intellij.execution.impl.ExecutionManagerImpl$2.run(ExecutionManagerImpl.java:208)
    at com.intellij.openapi.project.DumbServiceImpl.runWhenSmart(DumbServiceImpl.java:95)
    at com.intellij.execution.impl.ExecutionManagerImpl$1$1.run(ExecutionManagerImpl.java:172)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:733)
    at java.awt.EventQueue.access$200(EventQueue.java:103)
    at java.awt.EventQueue$3.run(EventQueue.java:694)
    at java.awt.EventQueue$3.run(EventQueue.java:692)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:703)
    at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:697)
    at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:524)
    at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:335)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)

【问题讨论】:

  • 我还没有写任何代码,我知道 NullPointerException 是什么意思。我不知道当成功运行项目所需的库出现问题时该怎么办。我运行了 libGDX 项目开箱即用..并出现空指针..此时有人可以尝试设置新的libgdx项目吗?谢谢
  • 您使用的是android studio(而不是intellij Ultimate)吗?直接使用gradle时有效吗?也可能是您安装的 android sdk 等的问题。所有这些 android/swing/awt 堆栈跟踪看起来不像 GDX 的问题,但更像是工具的问题。
  • 好的,谢谢回复,我会尝试使用Android Studio..
  • 非常感谢!!!它现在正在工作。我尝试过使用 Android Studio。

标签: android intellij-idea nullpointerexception libgdx game-engine


【解决方案1】:

Android支持 Swing & Awt API。因此,如果您想在 Android 上运行,您的项目不应依赖 swing.* / awt.* 包。

如果您希望您的游戏是跨平台的,您应该只使用 libgdx GUI 元素。本指南应该可以帮助您入门:https://github.com/libgdx/libgdx/wiki/Scene2d

【讨论】:

    【解决方案2】:

    这是 IntelliJ 13.x 中出现的错误,该修复从未进入该分支。

    IntelliJ 14+ 和更新版本的 Android Studio 没有这个问题。

    来源:Android Open Source Project Issue

    【讨论】:

      猜你喜欢
      • 2013-05-13
      • 2017-07-21
      • 2021-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-27
      • 2013-10-15
      相关资源
      最近更新 更多