【问题标题】:How to make an executable out of my LIBGDX game如何从我的 LIBGDX 游戏中制作可执行文件
【发布时间】:2012-01-27 04:35:43
【问题描述】:

我以前从未将程序变成可执行文件,而且我一直在研究如何做到这一点已经有一段时间了。当我尝试将其放入罐子中时,一切正常,但是当我尝试运行它时,什么也没有发生。

如何将我的游戏制作成可执行文件以便它可以运行(在 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. 

【问题讨论】:

  • 明确地说,您希望构建一个可执行文件供其他人在 Windows 上运行?还是在他们的 Android 设备上? (或者在 Mac 上?)
  • 我已经想出了如何导出 APK 并让它在 Android 设备上运行,它运行良好。但你是对的,我正试图让它在 Windows 上工作。我还没弄明白。
  • FWIW,我也收到了一堆“重复输入”警告。不过,它们适用于不同的课程。您应该检查生成的 .jar 文件(例如,使用 winzip 或 7zip)并查看它是否包含您的类文件,并且 META-INF\MANIFEST.MF 文件引用了正确的“Main-Class”。 .jar 的顶层也应该有很多库(例如,gdx.dll 和 libgdx.so 等)。

标签: android eclipse executable libgdx


【解决方案1】:

您的问题是,当您使用 eclipse export 作为 Executable jar 文件时,它不包括您在 gdx 项目中使用的资产(图形、声音......)。您可以手动执行的操作是将您的资产文件夹复制到生成的 jar 文件旁边,或者使用您最喜欢的 zip 管理工具将您的资产文件夹包含在您的 jar 文件中。

另一种方法是使用相同的 eclipse 导出向导并选中“另存为 ANT 脚本”,然后编辑生成的 ant 文件以包含您的应用所需的所有文件和文件夹。

希望对你有帮助

【讨论】:

  • 这就是解决方案。自从我按照这里所说的那样做以来一直在工作。谢谢!
【解决方案2】:

这是一个老问题,但如果您使用的是新版本的 LibGDX 和 Gradle,您可以使用命令行来制作可执行文件。

有几个命令,但这些是用于打包的:

桌面

gradlew desktop:dist

Android(未签名)

gradlew android:assembleRelease

iOS

gradlew ios:createIPA

网络

gradlew html:dist

阅读更多https://github.com/libgdx/libgdx/wiki/Gradle-on-the-Commandline

【讨论】:

  • 对于桌面分发,“gradlew desktop:dist”会创建 .jar,但如果不放在 assets 文件夹中,则无法工作。我想知道这是否是 gradle 更新的问题?
【解决方案3】:

我假设您的应用程序是 setup as the libgdx wiki page suggests(有一个“主项目”和独立的“桌面”和“安卓”项目,它们共享来自“主”项目的源代码)。

由于您的应用是用 Java 编写的,因此它需要 JVM 才能在桌面上运行。您必须决定是要将其打包,还是依赖用户已经安装的 JVM。我相信用 Java 类文件打包 JVM 非常复杂,并引发了许多其他问题(而且它变得非常特定于平台)。所以,我相信大多数基于 libgdx 的游戏都是作为可执行 Jar 文件分发的,这意味着用户必须已经拥有 Java。 (它适用于 Minecraft,所以它对你来说可能也足够好了。:)

Eclipse 让这一切变得非常简单:File -> Export ... -> Java -> Executable Jar File。可能需要额外的步骤才能将应用的图像和声音等资产包含到此 .jar 文件中。 (我的游戏目前是“无资产”的,所以我对这部分没有任何经验。)

您还可以考虑避开桌面可执行文件,将游戏打包为小程序并在网络浏览器中运行,这样您想要向其展示的人几乎不需要“安装”。这是walkthrough for making an applet from a libgdx-based game。 (我自己还没有真正尝试过这个,但我确实有一个基于 libgdx 的游戏,我打算为此做这个。)

【讨论】:

  • 非常感谢您的回答!当我尝试您的建议时,它将打开一个空白的白色窗口。我去,文件>>导出>>可运行的JAR文件,我尝试了“将所需的库提取到生成的JAR”选项和“将所需的库打包到生成的JAR”中,结果相同(不起作用)。现在呢?
  • 此外,当我尝试添加以下 com.badlogic.gdx.backends.lwjgl.LwjglApplication 时,Eclipse 没有看到它存在。有没有可能我只是没有让 LibGDX 正常工作或者那些行很长的东西?我的游戏运行良好...
  • 您是否选择了“出口目的地”?这是 Eclipse 询问它应该创建的 .jar 文件的名称的笨方法。我刚刚从我的应用程序中创建了一个 .jar,并且没有问题......嗯......我使用的是 jogl 后端,而不是 lwjgl。但我怀疑这应该有很大的不同。
  • @PT:您是否注意到这是一个 Android 问题,而不仅仅是 Java 问题?它并不像创建 Java 小程序或导出可执行 jar 文件那么简单。
  • @KenWhite 啊,好点……我没看到。 libgdx 文档很好地涵盖了构建 Android 版本,所以我有点假设它是他所询问的桌面版本。我会澄清的。
【解决方案4】:

如果您使用的是 Android Studio,则可以创建自定义配置以从程序中分发。

在运行下拉列表中选择编辑配置。

点击“+”。选择 Gradle。

在该屏幕的右半部分,为您的配置命名。

Gradle 项目:使用浏览按钮选择您的桌面应用程序。这看起来像(项目名称):桌面

任务:输入“desktop:dist”

申请。

关闭配置编辑器并从下拉列表中选择您的新配置。点击运行,它应该会构建您的项目。

您的新 Jar 文件应位于 (ProjectName)/desktop/build/libs

【讨论】:

  • 非常感谢 (ProjectName)/desktop/build/libs。通常它会创建一个小文件,但是一旦我通过 cmd 编译它就可以了!
猜你喜欢
  • 2015-11-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多