oma*_*any 10 android runtimeexception libgdx
我已经开发了一个Libgdx应用程序并在我的三星Galaxy S3(4.1.2)上进行了测试,它的工作效果非常好.我试图在Galaxy Grand(4.1.2)上测试它,但它失败了.在logcat中,我发现了以下内容:
caused by com.badlogic.gdx.utils.GdxRuntimeException couldn't load shared library 'gdx' for target: Linux, 32-bit
Run Code Online (Sandbox Code Playgroud)
这只是在更换设备时发生的,所以任何想法是什么原因?!
完整的logcat:
05-22 20:25:01.745: E/AndroidRuntime(12725): FATAL EXCEPTION: main
05-22 20:25:01.745: E/AndroidRuntime(12725): java.lang.ExceptionInInitializerError
05-22 20:25:01.745: E/AndroidRuntime(12725): at java.lang.Class.newInstanceImpl(Native Method)
05-22 20:25:01.745: E/AndroidRuntime(12725): at java.lang.Class.newInstance(Class.java:1319)
05-22 20:25:01.745: E/AndroidRuntime(12725): at android.app.Instrumentation.newActivity(Instrumentation.java:1068)
05-22 20:25:01.745: E/AndroidRuntime(12725): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2025)
05-22 20:25:01.745: E/AndroidRuntime(12725): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2135)
05-22 20:25:01.745: E/AndroidRuntime(12725): at android.app.ActivityThread.access$700(ActivityThread.java:140)
05-22 20:25:01.745: E/AndroidRuntime(12725): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1237)
05-22 20:25:01.745: E/AndroidRuntime(12725): at android.os.Handler.dispatchMessage(Handler.java:99)
05-22 20:25:01.745: E/AndroidRuntime(12725): at android.os.Looper.loop(Looper.java:137)
05-22 20:25:01.745: E/AndroidRuntime(12725): at android.app.ActivityThread.main(ActivityThread.java:4935)
05-22 20:25:01.745: E/AndroidRuntime(12725): at java.lang.reflect.Method.invokeNative(Native Method)
05-22 20:25:01.745: E/AndroidRuntime(12725): at java.lang.reflect.Method.invoke(Method.java:511)
05-22 20:25:01.745: E/AndroidRuntime(12725): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1038)
05-22 20:25:01.745: E/AndroidRuntime(12725): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:805)
05-22 20:25:01.745: E/AndroidRuntime(12725): at dalvik.system.NativeStart.main(Native Method)
05-22 20:25:01.745: E/AndroidRuntime(12725): Caused by: com.badlogic.gdx.utils.GdxRuntimeException: Couldn't load shared library 'gdx' for target: Linux, 32-bit
05-22 20:25:01.745: E/AndroidRuntime(12725): at com.badlogic.gdx.utils.SharedLibraryLoader.load(SharedLibraryLoader.java:104)
05-22 20:25:01.745: E/AndroidRuntime(12725): at com.badlogic.gdx.utils.GdxNativesLoader.load(GdxNativesLoader.java:34)
05-22 20:25:01.745: E/AndroidRuntime(12725): at com.badlogic.gdx.backends.android.AndroidApplication.<clinit>(AndroidApplication.java:61)
05-22 20:25:01.745: E/AndroidRuntime(12725): ... 15 more
05-22 20:25:01.745: E/AndroidRuntime(12725): Caused by: java.lang.UnsatisfiedLinkError: Couldn't load gdx: findLibrary returned null
05-22 20:25:01.745: E/AndroidRuntime(12725): at java.lang.Runtime.loadLibrary(Runtime.java:365)
05-22 20:25:01.745: E/AndroidRuntime(12725): at java.lang.System.loadLibrary(System.java:535)
05-22 20:25:01.745: E/AndroidRuntime(12725): at com.badlogic.gdx.utils.SharedLibraryLoader.load(SharedLibraryLoader.java:100)
05-22 20:25:01.745: E/AndroidRuntime(12725): ... 17 more
Run Code Online (Sandbox Code Playgroud)
当我尝试将libGDX生成的项目加载到Android Studio时,我收到与原始帖子完全相同的错误:
> "caused by com.badlogic.gdx.utils.GdxRuntimeException couldn't load
> shared library 'gdx' for target: Linux, 32-bit"
Run Code Online (Sandbox Code Playgroud)
经过一些研究(特别是www.badlogicgames.com/forum/viewtopic.php?f=11&t=9097),我发现了evilEntity的这个优秀教程,它展示了如何将libGDX项目导入Android Studio:
我不能逐字重复教程,因为它既是文本又是屏幕截图,但是按照这些步骤允许我导入生成的项目,只有教程中列出的修改:
请注意,我在这里重复evilentity的答案,因为它位于不同网站上的不同论坛中,并且Stack溢出中有大量注释表明简单地将链接发布到其他网站上的解决方案是不好的形式.
还请注意我在这里包含这个答案,因为omarsafwany的问题中包含的错误信息对我来说是关键点,而不是围绕他的问题的具体情况.希望没关系.
细节:
我找出了问题所在。它从一开始就仅在 Samsung Galaxy S3 上运行,加载了一些 C++ 文件,当我编辑其中一些文件时,我没有使用 ndk 进行构建。因此,当尝试在另一台手机上进行测试时,新的修改未应用。我构建了它们并且应用程序成功运行。
| 归档时间: |
|
| 查看次数: |
7077 次 |
| 最近记录: |