我正在尝试使用gradle在iPhone模拟器上运行基本的Hello World libgdx应用程序。我是gradle和robovm的新手。
首先我要注意,我能够使用以下命令成功构建并运行示例app 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中确实没有类目录,但我不确定原因。
任何人都可以帮我解决这个问题吗?非常感谢提前。
答案 0 :(得分:2)
更新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构建所需的内容。
答案 1 :(得分:0)
尝试检查主build.gradle中的roboVMVersion和robovm-gradle-plugin是否指向最新的robovm / plugin版本。如果没有 - 尝试使用最新的。这对我有好几次帮助。