Как сделать исполняемый файл из моей игры LIBGDX

Я никогда раньше не делал программу в исполняемый файл, и я изучал, как это сделать в течение некоторого времени. Когда я пытаюсь положить его в баночку все работает нормально, но когда я пытаюсь запустить его ничего не происходит.

Как сделать мою игру в исполняемый файл, чтобы ее можно было запустить (в windows, а не android) Я чувствую, что не связываю его с библиотеками или чем-то еще... Не уверенный. Спасибо!

изменить: Я должен добавить, что получаю ошибку

JAR export finished with warnings. See details for additional information. 
duplicate entry: com/badlogic/gdx/utils/arial-15.fnt 
duplicate entry: com/badlogic/gdx/utils/arial-15.fnt 
duplicate entry: com/badlogic/gdx/utils/arial-15.png 
duplicate entry: com/badlogic/gdx/utils/arial-15.png 
Jar export finished with problems. 
See details for additional information. 

4 ответов


ваша проблема в том, что при использовании экспорта eclipse в качестве исполняемого файла jar он не включает в себя активы (графический, звуки ...) который вы использовали в своем проекте gdx. То, что вы можете сделать вручную, это либо скопировать папку assets рядом с созданным файлом jar, либо включить папку assets в файл jar с вашим любимым инструментом управления zip.

другой способ-использовать этот же мастер экспорта eclipse и проверить "Сохранить как скрипт ANT" , а затем отредактировать сгенерированный ant файл для включения всех файлов и папок, необходимых вашему приложению.

надеюсь, что это помогает


Это старый вопрос, но если вы используете новую версию LibGDX и Gradle, вы можете использовать командную строку для создания исполняемого файла.

есть несколько команд, но они предназначены для упаковки:

рабочий стол

gradlew desktop:dist

Android (без знака)

gradlew android:assembleRelease

iOS

gradlew ios:createIPA

Web

gradlew html:dist

подробнее в https://github.com/libgdx/libgdx/wiki/Gradle-on-the-Commandline


Я предполагаю, что ваше приложение настройка, как предлагает страница libGDX wiki (С "основным проектом" и отдельными проектами "desktop" и "android", которые разделяют источники из "основного" проекта).

поскольку ваше приложение написано на Java, для запуска на рабочем столе требуется JVM. Вы должны решить, хотите ли вы упаковать это или полагаться на JVM, уже установленный пользователем. Я считаю, что упаковка JVM с файлами классов Java очень сложна и вызывает множество других проблем (и это становится очень специфичным для платформы). Итак, я считаю, что большинство игр на основе libgdx распространяются как исполняемый файл Jar, что означает, что пользователь уже должен иметь Java. (Это работает для Minecraft, так что его, вероятно, достаточно хорошо для вас тоже. :)

Eclipse делает это очень легко:File -> Export ... -> Java -> Executable Jar File. Могут потребоваться дополнительные шаги для включения таких ресурсов, как изображения и звуки вашего приложения .файл jar. (Моя игра в настоящее время" asset free", поэтому у меня нет опыт работы с этой частью.)

вы также можете рассмотреть возможность бокового шага исполняемого файла рабочего стола и упаковки вашей игры в качестве апплета и запуска его в веб-браузере, поэтому для людей, которым вы хотите его показать, требуется очень мало "установки". Вот пошаговое руководство для создания апплета из игры на основе libgdx. (Я еще не пробовал это сам, но у меня есть игра на основе libgdx, для которой я планирую это сделать.)


Если вы используете Android Studio, вы можете создать пользовательскую конфигурацию для распространения в рамках программы.

в раскрывающемся списке выполнить выберите Изменить конфигурации.

Нажмите кнопку "+". Выберите Gradle.

в правой половине этого экрана дайте вашей конфигурации имя.

Gradle Project: используйте кнопку Обзор, чтобы выбрать настольное приложение. Это будет выглядеть примерно так (Название проекта): desktop

задачи: тип "desktop: dist"

применить.

закройте редактор конфигурации и выберите Настройки из выпадающего списка. Нажмите run, и он должен построить ваш проект.

ваш новый файл Jar должен быть расположен в (ProjectName)/desktop/build / libs