标签:Sqlite Mono SQLite dll Unity Android Data
Unity编辑器:2019.2.0f1、2018.4.16f1、2017.4.37f1
获取 Mono.Data.Sqlite.dll
想在 Unity 中使用 Sqlite 需要使用 Mono.Data.Sqlite.dll
,该库为C# API,可直接从 Unity 客户端中获取
以 Mac 为例,大部分网上提供的目录为 /Unity.app/Contents/MonoBleedingEdge/lib/mono/2.0-api/Mono.Data.Sqlite.dll
但实际使用会发现该目录下的 dll 会出现版本无法兼容、提示加载失败等问题
后发现 /Unity.app/Contents/Mono/lib/mono/2.0/Mono.Data.Sqlite.dll
更加稳定,经测试 2019.2.0f1、2018.4.16f1、2017.4.37f1 之间可互相使用,无异常
另外其他博文有提到不同版本 Unity 会包含不同版本的 Mono.Data.Sqlite.dll
,会引发兼容性问题,使用时注意 PlayerSetting 中 Api Compatibility Level
需选择 .NET Standard 2.0
,但本文测试设置为 .NET 4.x
也能正常运行
iOS 与 macOS 环境配置
无需额外配置,直接使用即可
Android 环境配置
Android 还需 libsqlite3.so
,该库为 sqlite3 由 C 编译得来,为适配不同的 Android 架构可下载
armeabi-v7a 放入 Assets/Plugins/Android/libs/armeabi-v7a目录
arm64-v8a 放入 Assets/Plugins/Android/libs/arm64-v8a目录
x86 放入 Assets/Plugins/Android/libs/x86目录
x86_64
放入 Assets/Plugins/Android/libs/x86_64目录
对应 so 文件放入目录后选中,于 Inspector 的 platform 仅选择 Android,架构根据版本选择
Windows 环境配置
Windows 需额外添加 sqlite3.dll 可从官网下载
Windows 分为 x86 和 x64 架构,根据需求添加于 Unity 项目中 Asset/Plugins/x86
和Asset/Plugins/x86_64
目录下,选中该dll,于 Inspector 中仅勾选 Standalone 平台和对应架构
疑问
System.Data.dll
没用到
网上很多文章(甚至 Xamarin 官方 )提到需将与 Mono.Data.Sqlite
同目录下的 System.Data.dll
一同添加到 Plugin 中(或全平台或仅 Android 平台)以保证版本同一,但实际测试发现,没有导入也可正常运行
sqlite3.dll
仅用于 Windows 平台
另有说法,Android 需添加 sqlite3.dll
到 Plugin,但实际测试没添加也能正常运行
标签:Sqlite,Mono,SQLite,dll,Unity,Android,Data 来源: https://blog.csdn.net/weixin_39114763/article/details/120668207
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。