You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Studio集成Libgdx LiquidFun报错:无法加载libgdx-liquidfun.so

解决Android端无法加载libgdx-liquidfun.so的问题

看起来你在Android Studio集成LiquidFun时碰到了原生库加载的坑——桌面端跑的好好的,Android端直接因为找不到libgdx-liquidfun.so崩了。从错误日志能看出来,你的设备是arm64-v8a架构,但APK里没包含对应架构的so文件,或者依赖配置没到位。下面是我亲测有效的解决步骤:

1. 补全Android平台的原生库依赖

你只导入了gdx-liquidfun.jar,但Android平台还需要对应的.so原生库文件。别慌,按下面来:

  • 找到你下载的LiquidFun完整包,里面应该有libs文件夹,包含armeabi-v7a、arm64-v8a、x86、x86_64这些子文件夹,每个里面都有libgdx-liquidfun.so
  • 把这些带so文件的文件夹,直接复制到你的Android模块的src/main/jniLibs目录下(如果没有jniLibs文件夹,手动新建一个就行)

2. 改用Gradle依赖更靠谱(推荐)

手动导入JAR容易漏掉原生库,不如直接用Gradle管理依赖。打开Android模块的build.gradle(注意是Module级的,不是Project级的),在dependencies块里添加:

implementation "com.badlogicgames.gdx:gdx-liquidfun:$gdxVersion"
implementation "com.badlogicgames.gdx:gdx-liquidfun-android:$gdxVersion"

记得把$gdxVersion替换成你项目里用的LibGDX版本,一定要保证LiquidFun和LibGDX版本匹配,不然容易出兼容性问题。

3. 确保APK打包时包含所有需要的ABI

有时候打包时会过滤掉某些架构的so文件,导致特定设备找不到库。在Android模块的build.gradle的android > defaultConfig块里添加:

ndk {
    abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
}

这样打包时就会把这几个主流架构的so文件都包含进去,适配绝大多数设备。

4. 清理缓存重建项目

Android Studio的缓存有时候会搞事情,导致依赖没同步到位。执行这几步:

  • 点击工具栏的Build > Clean Project
  • 接着Build > Rebuild Project
  • 最后重启Android Studio,点击右上角的Sync按钮同步Gradle

5. 手动指定库加载顺序(可选)

如果上面的方法都没用,可以试试手动指定加载顺序,在你的AppClass类里添加静态代码块:

static {
    // 先加载LibGDX核心库,再加载LiquidFun库
    System.loadLibrary("gdx");
    System.loadLibrary("gdx-liquidfun");
}

放在create方法之前,确保库的加载顺序正确。


内容的提问来源于stack exchange,提问作者misza

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 09:24:16