尝试使用 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 ***********
最佳答案
好的,听起来您可能已经升级到 libGDX 1.6.1+
在您的主 build.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"
如果您有这样的行,将它们更改为读取(将 natives
更改为 compile
):
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 不再将这些垃圾箱作为 ipa 构建的一部分,因为它们现在被打包为 JAR,可以通过编译。 (在 robovm.xml 中也没有更多的 lib 条目)
关于ios - 带有 RoboVM 的适用于 iOS 的 Libgdx - IOSGLES20.init 中的不满意链接错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21830815/