2017-06-03 52 views
1

当我尝试运行我的libGDX游戏的iOS版本时,总是遇到同样的奇怪错误。该错误只显示此消息:Error:com.android.tools.idea.gradle.util.Projects.lastGradleSyncFailed(Lcom/intellij/openapi/project/Project;)ZlibGDX RoboVM fork iOS构建错误

我可以同步gradle成功,但错误消息保持不变。有人建议使用与RoboVM fork版本相同的android studio版本,所以我这样做了。现在我为他们使用了2.3.0版本,但是这样做并没有解决这个问题。要设置RoboVM,我按照RoboVM fork网站上的说明操作:http://robovm.mobidevelop.com/

有人知道如何解决这个问题吗?

+0

Abhishek的回答已经说明了如何使用RoboVM来解决问题。但手动构建RoboVM,我认为这不是一件容易的事。在此期间尝试使用MultiOS引擎(MOE)而不是RoboVM。 – haxpor

回答

0

RoboVM与Android Studio/IDEA版本2.3.0有一些不兼容的问题。

尝试使用MobiDevelop RoboVM 2.3.2-SNAPSHOT版本修正相同的版本。

master分支中有一个pull request这个问题,你可以检查一下。

+0

我在哪里可以找到RoboVM 2.3.2-SNAPSHOT?它不在这里:http://robovm.mobidevelop.com/downloads/snapshots/idea/ –

+0

@ A.Person目前构建不可用,你必须从源代码构建它。 – Aryan

+0

要么降级到旧版本Android Studio 2.2.3 – Aryan

0

通过将您的项目拆分为两个独立的项目,一个用于Android和一个用于iOS的,可以使用高于2.2的Android Studio(我正在使用AS 3.0 Canary 3,它支持Java 8功能)解决此问题一个导入模块,其中包含所有常用代码。

要进行设置,您需要将iOS应用程序模块复制到单独的文件夹中。我用这个结构:

Toplevel 
    android 
     androidApp 
     lib 
    ios 
     iosApp 

每个项目应该有gradle.build,gradlew脚本和gradle这个文件夹的副本 - 最简单的方法就是重复再树从一个,并从其他iosApp删除androidApp。

android和ios文件夹都包含顶级build.gradle和settings.gradle文件。常见的代码在lib目录中,因此而Android项目settings.gradle看起来像这样的IOS文件夹,将需要这样

include ':iosApp', ':lib' 
project(':lib').projectDir = new File('../android/lib') 

一个settings.gradle:

include ':lib', ':androidApp' 

打开每个项目在AS中它自己的窗口,您现在可以独立构建和运行它们。您可以通过使用

gradlew androidApp:assembleDebug 

的Android项目和

gradlew iosApp:assemble 

的IOS版本在命令行(通常更容易调试gradle这个问题)测试。 我目前与AS 3的唯一问题是在android项目的dexing阶段偶尔出现空指针错误。从命令行构建使得它消失了一段时间。你当然可以使用没有这个问题的AS 2.3(但不支持Android 8中的lambdas等Java 8功能)。