我正在尝试使用 gradle 在 iPhone 模拟器上运行一个基本的 Hello World libgdx 应用程序。我是 gradle 和 robovm 的新手。
首先,我应该注意到,我能够成功构建并运行示例应用程序 https://github.com/jtakakura/robovm-sample-ios-app使用命令:
./gradlew build launchIPhoneSimulator
只是作为一个小消遣,我很好奇为什么
./gradlew launchIPhoneSimulator
失败。显然“构建”需要明确。
wintermute:robovm-sample-ios-app matt$ ./gradlew launchIPhoneSimulator
:launchIPhoneSimulator
Classpath entry /Users/matt/code/robovm-sample-ios-app/build/classes/main does not exist
:launchIPhoneSimulator FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':launchIPhoneSimulator'.
> Main class org.robovm.sample.ios.RoboVMSampleIOSApp not found
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
BUILD FAILED
Total time: 7.115 secs
我本以为 launchIPhoneSimulator 任务将依赖于构建任务,并且调用 lanuchIPhoneSimulator 会隐式调用构建。这是 gradle-robovm-plugin ( https://github.com/jtakakura/gradle-robovm-plugin ) 中的错误还是我对 gradle 缺少什么?
好的,抱歉,回到我的主要问题:
我使用 Gdx-setup ( https://github.com/libgdx/libgdx/tree/master/extensions/gdx-setup ) 提供的命令行工具生成了一个 libgdx 项目,参数如下:
--dir/Users/matt/code/test --name test --package com.foo.bar --mainClass FooTest
我把生成的项目放到了 github 上,这样你就可以轻松地克隆它:
git clone https://github.com/mattwalters/libgdx-test libgdx-test
那我就跑
./gradlew build
构建所有子项目。但我无法通过 ios 构建在模拟器上运行
./gradlew launchIPhoneSimulator
我遇到了与上面类似的错误:
wintermute:test matt$ ./gradlew ios:launchIPhoneSimulator
:ios:launchIPhoneSimulator
Classpath entry /Users/matt/code/test/ios/build/classes/main does not exist
:ios:launchIPhoneSimulator FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':ios:launchIPhoneSimulator'.
> Main class com.foo.bar.IOSLauncher not found
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
BUILD FAILED
Total time: 12.759 secs
我仔细检查了主类的实际名称和声明为 gradle 的 mainClass 之间没有拼写错误。而且ios/build中确实没有classes目录,但我不知道为什么。
有人可以帮我解释一下吗?预先非常感谢。
最佳答案
更新 2014-01-24: 至少有一位其他用户已验证它现在可以正常工作,因此如果您仍然遇到问题,请确保重试。
更新 2014-01-23: 我最近检查了 libgdx gradle 支持的一些错误修复,这些错误修复已合并到每日构建中。假设您使用日报,它们应该会在 24 小时内出现。最后,新的错误修复使得“./gradlew ios:assemble launchIPhoneSimulator”在使用 GdxSetup 类创建新项目后开箱即用。
原始回复如下:
首先,确保您使用的 gradle-robovm-plugin 版本至少为 0.0.2。其次,尝试使用此处的插件构建示例项目:
https://github.com/jtakakura/robovm-sample-ios-app
该插件的作者很友善地根据我的要求制作了这个。我已经用示例测试了该插件,它运行顺利。它已在此处的一个已解决问题中进行了讨论和解决:
https://github.com/jtakakura/gradle-robovm-plugin/issues/3
还值得注意的是,在最近的 libgdx 版本中,用于生成 libgdx 应用程序模板的命令行工具已经使用了该插件,因此您应该准备好开始使用,而无需自己下载和/或弄乱这些东西(除了获得libdx 并运行命令行 util 来生成模板项目)。
如果您已经有一个需要调整的项目,请仔细查看示例作者提供的 robovm-sample-ios-app 示例中的 build.gradle 文件。它向您展示了构建 robovm 所需的条件。
关于ios - 无法使用 gradle 在 iPhone 模拟器中启动 libgdx ios/robovm 构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21267369/