无法使用gradle在IPhone模拟器中启动libgdx ios / robovm

时间:2014-01-21 19:31:32

标签: ios gradle libgdx gradlew robovm

我正在尝试使用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中确实没有类目录,但我不确定原因。

任何人都可以帮我解决这个问题吗?非常感谢提前。

2 个答案:

答案 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版本。如果没有 - 尝试使用最新的。这对我有好几次帮助。