首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >libGDX RoboVM iOS生成错误

libGDX RoboVM iOS生成错误
EN

Stack Overflow用户
提问于 2017-06-03 16:09:17
回答 2查看 395关注 0票数 1

当我尝试运行iOS版本的libGDX游戏时,我总是会遇到同样的奇怪错误。错误仅显示以下消息:Error:com.android.tools.idea.gradle.util.Projects.lastGradleSyncFailed(Lcom/intellij/openapi/project/Project;)Z

我可以成功地同步gradle,但是错误消息保持不变。有人建议使用与RoboVM叉版本相同的android版本,所以我这样做了。现在,我对它们都使用了2.3.0版本,但是这样做并不能解决问题。为了设置RoboVM,我遵循了RoboVM叉网站的说明:http://robovm.mobidevelop.com/

有人知道怎么解决这个问题吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-06-03 16:37:56

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

尝试使用具有相同修复程序的MobiDevelop RoboVM 2.3.2-SNAPSHOT版本。

对于这个问题,在拉请求分支中有一个master,您可以检查它。

票数 0
EN

Stack Overflow用户

发布于 2017-06-07 21:10:13

您可以在Android高于2.2的情况下解决这个问题(我使用的是3.0Canary3,它支持Java 8特性),方法是将项目分成两个单独的项目,一个用于Android,另一个用于iOS,共享一个导入模块,其中所有的通用代码都在这里。

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

代码语言:javascript
复制
Toplevel
    android
        androidApp
        lib
    ios
        iosApp

每个项目都应该有一个gradle.build、gradlew脚本和gradle文件夹的副本--最简单的方法就是复制树,然后从一个删除androidApp,从另一个删除iosApp。

android和ios文件夹都包含一个顶级build.gradle和一个settings.gradle文件。通用代码位于lib目录中,因此ios文件夹需要如下所示的settings.gradle

代码语言:javascript
复制
include ':iosApp', ':lib'
project(':lib').projectDir = new File('../android/lib')

尽管android项目settings.gradle看起来是这样的:

代码语言:javascript
复制
include ':lib', ':androidApp'

在AS中打开每个项目的窗口,您现在可以独立构建和运行它们。可以从命令行进行测试(通常更容易调试gradle问题),方法是

代码语言:javascript
复制
gradlew androidApp:assembleDebug

为android项目和

代码语言:javascript
复制
gradlew iosApp:assemble

对于ios版本。我目前使用AS 3的唯一问题是,在android项目的dexing阶段,偶尔出现一个空指针错误。从命令行构建可以使这种情况消失一段时间。当然,您可以使用不存在此问题的2.3 (但不支持像Android中的lambdas这样的Java 8功能)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44345950

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档