Действия по воспроизведению:

  • скачать 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: ноль
  • 15:32:30 Сообщить об ошибке Ошибка при отправке отзыва: ноль Рассмотрите возможность создания проблемы в системе отслеживания проблем Android

Если я нажимаю NullPointerException (ссылка), появляется сообщение и трассировка стека:

Сообщение: Исключение в плагине поддержки Android. х мин назад. Произошло 2 раза с момента последней очистки. Отключить плагин... <-- это ссылка (если я ее нажму, то Android вообще не будет виден IDEA.

Трассировки стека:

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)
1
Aleksandrs 31 Окт 2014 в 20:50
 – 
LearnCocos2D
31 Окт 2014 в 22:00
Я еще не писал никакого кода, я знаю, что означает NullPointerException.. Я не знаю, что делать, если что-то не так с библиотекой, которая необходима для успешного запуска проекта.. Я запустил проект libGDX из коробки.. и nullpointer появляется .. может ли кто-нибудь попытаться настроить новый проект libgdx в этот момент? Спасибо
 – 
Aleksandrs
31 Окт 2014 в 23:40
2
Вы используете Android-студию (а не Intellij Ultimate)? это работает при непосредственном использовании gradle? также может быть проблема с вашим установленным android sdk и т. д. вся эта трассировка стека android/swing/awt не похожа на проблему с GDX, а больше похожа на проблему с инструментами.
 – 
cfrick
31 Окт 2014 в 23:44
Хорошо, спасибо за ответ, я попробую использовать Android Studio..
 – 
Aleksandrs
1 Ноя 2014 в 00:01
Большое спасибо!!! Сейчас это работает. Я пробовал с Android-студией.
 – 
Aleksandrs
1 Ноя 2014 в 00:09

2 ответа

Android не поддерживает Swing & Awt API. Поэтому ваш проект не должен зависеть от пакетов swing.* / awt.*, если вы хотите запустить его на Android.

Вам следует использовать элементы графического интерфейса libgdx, если вы хотите, чтобы ваша игра была кроссплатформенной. Это руководство поможет вам начать работу: https://github.com/libgdx/libgdx/wiki/Scene2d< /а>

1
donfuxx 1 Ноя 2014 в 00:10