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

Godot 4.4dev3导出Android游戏时SQLite触发DllNotFoundException问题

问题:Godot 4.4dev3导出Android(arm64-v8a)搭载SQLite时触发DllNotFoundException

现象描述

  • 游戏在桌面端可正常运行,但仅针对arm64-v8a架构导出Android包后,始终触发DllNotFoundException
  • 两种依赖的具体报错:
    • 使用Microsoft.Data.Sqlite:报错System.DllNotFoundException: e_sqlite3
    • 使用SQLitePCLRaw.bundle_e_sqlite3mc:报错System.DllNotFoundException: e_sqlite3mc

已尝试的基础操作

  • 检查APK内/libs/arm64-v8a目录是否包含对应.so文件
  • 通过file命令确认.so文件适配arm64-v8a架构
  • 尝试用[DllImport("e_sqlite3")]和dlopen手动加载.so文件
  • 手动调用...Batteries_V2.Init()完成初始化
  • 在Android Manifest中添加READ/WRITE权限
  • 遍历进程信息发现{ Name = libsqlite.so, Size = 1343488 },推测为Godot自带文件
  • 尝试将.so文件复制到不同的jniLib目录
  • 移除并重新添加所有依赖项
  • 多次清理并重建项目
  • 检查LogCat未发现异常外的有效信息

额外尝试的方案

  • 测试SQLitePCLRaw的所有版本及组合
  • 尝试用SetProvider(...sqlite3)替代默认的e_sqlite3,匹配发现的程序集名称
  • 尝试引入SQLite官网提供的SQLite AAR,但Gradle构建持续报错
  • 游戏运行时执行ls命令,确认PCL DLL已存在

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 16:52:37