【问题标题】:Libgdx couldnt load shared library gdx freetype for target linux 32bit, how do I fix?Libgdx 无法为目标 linux 32 位加载共享库 gdx freetype,我该如何解决?
【发布时间】:2014-02-04 18:56:50
【问题描述】:

我已经开始使用 libgdx 并一直试图让 freetypefont 在 Android 上运行,但无论我多么努力,我似乎​​都无法让它工作。在我尝试使用 freetypefont 之前,我的应用程序运行良好。我已按照 libgdx 网站上的指示放入扩展程序。应用程序一启动就崩溃或停止工作。

控制台显示无法为目标 linux 32 位加载共享库 gdx-freetype。我觉得我已经尝试了一切。我已经把freetype和freetype这两个原生文件放到了主游戏库中,我把它们放到了桌面,只把freetype一个放到了android库中。我已经为 armeabi 文件夹使用了最新的夜间构建 .so 文件,但仍然没有。我还按照此处的建议包含了 x86 文件夹的夜间构建 .so 文件,但仍然没有。如果有人对此有任何帮助,请提供帮助。谢谢。

【问题讨论】:

  • 对我来说听起来这个库是为 64 位编译的。你能检查一下吗?
  • 对不起,我无法确认这一点,似乎没有任何地方说明它的编译目的。我从这里得到它们libgdx.badlogicgames.com/nightlies

标签: java android linux libgdx


【解决方案1】:

您必须在 build.gradle 文件中为每个项目依赖项添加 listed here

实现“com.badlogicgames.gdx:gdx-freetype:$gdxVersion”
本地人“com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-armeabi”
本地人“com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-armeabi-v7a”
本地人“com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-arm64-v8a”
本地人“com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-x86”
当地人 "com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-x86_64"

【讨论】:

  • 谢谢它的帮助:)
  • 我已经在不久前投了赞成票,因为它真的很有帮助。我将实际列表放在你的答案中,以防源发生变化,因为它更方便。我希望你不要介意!如果你不喜欢它就回滚:)
【解决方案2】:

我有一个使用相同库的游戏运行良好。以下是可用库的库信息(使用“文件”):

libs/armeabi/libgdx-freetype.so:     ELF 32-bit LSB shared object, ARM, version 1 (SYSV), dynamically linked, stripped
libs/armeabi-v7a/libgdx-freetype.so: ELF 32-bit LSB shared object, ARM, version 1 (SYSV), dynamically linked, stripped

检查您是否拥有正确的库,它应该可以正常工作。 FWIW,我正在运行 nightlies (1.0-SNAPSHOT)。

您可能还想检查您是否在 ARM Android 上运行,因为这就是这些库的用途。如果您在 x86 Android 上运行,我不确定是否支持 freetype 扩展。

【讨论】:

  • 谢谢 抱歉,您是如何找到图书馆信息的?当我打开 .so 文件时,它会显示大量随机字符。
  • 我现在在 Nexus 7 上运行它,我认为它是 ARM。但是,如果我希望它在大量 Android 设备上运行,那么它肯定行不通。我还能如何显示文本?
  • 是的,那是 ARM,是的,我的游戏在 Nexus 7 上运行良好,具有与所列相同的库。
  • 我决定在 libgdx 中重新创建一个新项目,由于某种原因,这次字体工作正常,所以我不知道问题出在哪里。还是谢谢。
  • 现在它不再工作了。我只是要放弃它,这让我很沮丧。
【解决方案3】:

我遇到的问题是,由于某种原因,libgdx.so 未被复制到 android 项目的 lib 文件夹中的任何 armeabiarmeabi-v7ax86 文件夹中。

从 libgdx 发行版中复制这些内容对我有用。

setup-ui 程序只是为您从 libgdx 发行版中复制内容。您可以在那里找到这些文件夹。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-17
    • 1970-01-01
    • 1970-01-01
    • 2018-01-02
    • 2023-03-07
    • 2014-07-07
    相关资源
    最近更新 更多