9

尝试使用 RoboVM 将我的 LibGDX 游戏移植到 iOS。

为模拟器运行应用程序时,出现此错误:

Exception in thread "main" java.lang.UnsatisfiedLinkError: 
at com.badlogic.gdx.backends.iosrobovm.IOSGLES20.init(Native Method)
at com.badlogic.gdx.backends.iosrobovm.IOSGLES20.<init>(IOSGLES20.java)
at com.badlogic.gdx.backends.iosrobovm.IOSApplication.didFinishLaunching(IOSApplication.java)
at com.badlogic.gdx.backends.iosrobovm.IOSApplication$Delegate.didFinishLaunching(IOSApplication.java)
at org.robovm.cocoatouch.uikit.UIApplicationDelegate$Callbacks.didFinishLaunching(UIApplicationDelegate.java)
at org.robovm.cocoatouch.uikit.UIApplication.UIApplicationMain(Native Method)
at org.robovm.cocoatouch.uikit.UIApplication.main(UIApplication.java)
at ***********
4

2 回答 2

6

好的,听起来您可能已经升级到 libGDX 1.6.1+

在您的主 bu​​ild.gradle 文件中查找如下所示的行:

natives "com.badlogicgames.gdx:gdx-backend-robovm:$gdxVersion"
natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-ios"
natives "com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-ios"

如果您有这样的行,请将它们更改为阅读(更改nativescompile):

compile "com.badlogicgames.gdx:gdx-backend-robovm:$gdxVersion"
compile "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-ios"
compile "com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-ios"

看看这是否能解决问题。

我刚刚经历了几个小时,没有意识到我在更新到较新的 libGDX 期间错过了一步,并且 roboVM 不再将这些 bin 作为 ipa 构建的一部分,因为它们现在被打包为通过编译吸入的 JAR。(在 robovm.xml 中也没有更多的 lib 条目)

于 2015-06-20T05:12:17.600 回答
0

如果你有这个问题,我是这样解决的:我从旧论坛上的某个人那里得到了一个建议:-从主项目中保存你的类-删除整个项目-使用 LibGDX UI 设置从头开始重建-复制你的类主要项目。

正如那家伙所说,总会有一些非常小的故障在你遗漏的地方。

我浪费了 3-4 个小时,然后我接受了这个建议,一切都像魅力一样 :)

于 2014-02-27T14:39:39.527 回答