首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >安卓上的GdxRuntimeException :无法为目标加载共享库'gdx‘

安卓上的GdxRuntimeException :无法为目标加载共享库'gdx‘
EN

Stack Overflow用户
提问于 2013-05-23 01:43:41
回答 3查看 7.6K关注 0票数 10

我已经开发了一个Libgdx应用程序,并在我的Samsung Galaxy S3(4.1.2)上进行了测试,在那里它工作得很好。我试图在Galaxy Grand(4.1.2)上测试它,但失败了。在logcat中,我发现了以下内容:

代码语言:javascript
运行
复制
caused by com.badlogic.gdx.utils.GdxRuntimeException couldn't load shared library 'gdx' for target: Linux, 32-bit

这只发生在更换设备的时候,所以你知道原因是什么吗?!

完整的logcat:

代码语言:javascript
运行
复制
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
EN

回答 3

Stack Overflow用户

发布于 2013-08-15 14:23:25

当我试图将libGDX生成的项目加载到Android Studio中时,我收到了与原始帖子完全相同的错误:

代码语言:javascript
运行
复制
> "caused by com.badlogic.gdx.utils.GdxRuntimeException couldn't load
> shared library 'gdx' for target: Linux, 32-bit"

经过一些研究(特别是www.badlogicgames.com/forum/viewtopic.php?f=11&t=9097),),我发现了evilEntity的这篇优秀的教程,它展示了如何将libGDX项目导入Android Studio:

.

我不能逐字重复教程,因为它既是文本又是截图,但遵循以下步骤可以导入生成的项目,其中只包含教程中列出的修改:

请注意,我在这里重复了evilentity的答案,因为它在不同网站的不同论坛中,并且Stack overflow中有大量评论表明,简单地在其他网站上发布解决方案的链接是不好的形式。

还请注意,我在这里包含了这个答案,因为它是omarsafwany问题中包含的错误消息,这是我的关键点,而不是围绕他的问题的具体情况。希望这没问题。

libs桌面导入项目:

  • 选择包含所有三个生成项目(共享、桌面、sources"
  • Rename“从现有LibDGX-Shared)
  • Accept创建项目)的顶层文件夹。三个库(=LibGDX-
    • ,libs1 = LibDGX-Android,libs2 =LibDGX-Android,libs=LibDGX-Android,android)
    • Select =LibDGX-Android,libs1=LibDGX-Android,libs2=LibDGX)其余默认设置并单击”finish“
    • 所有三个项目都应出现在项目explorer.

  1. 导出共享库
    • 右键单击共享模块并选择“打开模块设置”
    • 转到共享模块并选择libgdx共享库旁边的“导出”
    • 转到android模块并添加共享模块作为依赖项(通过单击绿色+)
    • 转到桌面模块并添加共享模块作为依赖项(通过单击绿色libgdx

  1. 编辑Android运行配置
    • 通过将"-android“添加到现有名称的末尾来重命名android配置
    • 在"target device"

”中选择"Show chooser“对话框

  1. Add Desktop Run Configuration
    • 单击绿色+并在顶部选择"application"
    • Give it
    • ,然后单击...在“Main class”字段旁边。在对话框中,选择project并找到桌面starter的主类。单击ok。
    • 现在我们需要更改工作目录。点击...从文件夹视图中,选择android starter的assets文件夹。如果没有它,desktop starter将无法找到所需的映像和其他要运行的内容。
    • 最后要做的是选择类路径。选择台式机模块。单击ok.

详细信息:

  • 安卓工作室版本: AI-130.737825 (2013年7月11日)

Nexus : 1.7.0_25

下载

票数 5
EN

Stack Overflow用户

发布于 2015-05-04 15:37:42

从设备上完全卸载我的应用程序,并再次部署它。这就解决了问题

票数 3
EN

Stack Overflow用户

发布于 2013-05-29 22:22:01

我从一开始就明白了什么是problem.It只能在三星Galaxy S3上运行,加载了一些C++文件,当我编辑其中一些文件时,当我试图在另一台手机上测试时,我没有使用ndk.So构建,新的修改没有应用。我构建了它们,应用程序成功运行。

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

https://stackoverflow.com/questions/16698358

复制
相关文章

相似问题

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