Я использую меню, используя TWL (http://twl.l33tlabs.org/) в приложении, написанном с использованием Libgdx. Приложение работает нормально, если я не запускаю какие-либо меню, но как только я перехожу на экран меню, он немедленно принудительно закрывает. Экран меню отлично работает на настольной версии.
В какой путь построения должен быть включен TWL-android.jar (сейчас он ведет себя одинаково в main, android и т. Д.)? И как программа сможет использовать библиотеки из этого .jar вместо gdx-twl.jar по умолчанию? Должен ли я вручную реализовать что-то в коде, чтобы использовать его или в зависимости от платформы?
Кажется, что нет какой-либо документации или образца кода для любого пользователя, использующего TWL на android, только упоминание о том, что это можно сделать.
Запуск отладчика, подключенного к телефону, приводит к следующей ошибке logcat:
Could not find class 'com.badlogic.gdt.twl.Layout' referenced from method com.Nanners.OptionsScreen.<init>
Я думаю, что TWL-android.jar также должен быть добавлен в путь сборки проекта android. Местоположение .jar не имеет значения.
Когда вы добавляете TWL-android.jar. Поскольку это особенность Android, вы не можете использовать ее в основном проекте, поэтому импортируемые вами классы являются gdx-twl. Чтобы упростить объяснение, я разберу его в разных сценариях.
Вы добавляете TWL-андроид к своей траектории сборки Android. Но вы используете Gdx-twl в своем основном проекте. Что не добавлено. Таким образом, получение:
Could not find class 'com.badlogic.gdx.twl.Layout'
Вы добавляете оба TWL-андроида и Gdx-twl в свой путь сборки. Таким образом, получение дублированных классов и:
Conversion to Dalvik format failed with error 1
Решение
Если вы используете классы TWL-android, вы можете сделать это только в проекте Android:
Если вы используете Gdx-twl:
На самом деле лучшим решением является избавление от всех твитов и использование Scene2d.Ui . Его кроссплатформенность и намного проще в использовании.