分类

链接

2021 年 8 月
 1
2345678
9101112131415
16171819202122
23242526272829
3031  

近期文章

热门标签

新人福利,免费薅羊毛

现在位置:    首页 > Android, SQLite, Unity3D > 正文
共享办公室出租
【Unity】SQLite发布到Android
Android, SQLite, Unity3D 暂无评论 阅读(276)

一、发布Android到底需要多少dll和so文件

首先要知道的是dll文件是干啥用,中文是动态链接库,简单的说就是,提前做好的一些函数放在里面了,然后程序可以从里面调用,问题是,实际上 dll 是windows平台下的概念,也就是说如果在PC下运行的好好的,到了Android运行有问题,那么一定是so文件的问题,而不是dll文件的问题。

然后,so文件是什么呢,是给Android用的,在pc环境下有没有或者对不对,对Editor运行的结果都没有影响。so文件其实可以理解为Linux的动态链接库。因为Android和Linux的架构是一致的,所以才会用到so文件。

  • 针对sqlite3我们需要这几个文件:Mono.Data.Sqlite.dll(从对应版本的unity目录 Unity\Editor\Data\MonoBleedingEdge\lib\mono\2.0 中复制) 和 sqlite3.dll(从官网 https://www.sqlite.org/download.html 中下载适合开发用电脑的版本,而不是Android版本)
  • 针对发布Android平台,我们需要再加这几个文件:System.Data.dll(从对应版本的unity目录 Unity\Editor\Data\MonoBleedingEdge\lib\mono\2.0 中复制) 和 libsqlite3.so(在此下载
  • build 如果提示重复了,请删除!

二、dll文件和so文件的配置问题

首要问题是下载正确的版本,上一节已经讲了,然后现在需要做的是在Unity中配置相关的属性,这里需要提的一点是版本!Unity3D的版本!并不是所有版本都是稳定的,比如我以前的随笔中提到过的发布web GL的问题:IL2CPP问题,就是个版本问题,不过Android的目前看来是最新的稳定版本肯定最好用。我现在是 2019.2.0 版本,导出的APK无误。

Mono.Data.Sqlite.dll 和 sqlite3.dll文件的配置都是一样的:

System.Data.dll文件的配置:因为这个是只给Android用的,需要打包在包里,而在PC环境中不需要,所以只选择安卓平台。如果全平台,会跳红bug,在2017版本中是没有这个bug的,在2019版本中就有了,我是在升级之后遇到的这个问题,就是告诉你这个文件多余的意思,这时候不要删除,虽然unity editor测试很好,但是apk之后没有这个文件,程序依旧GG,请如下配置。

 

libsqlite3.so文件的配置:正如我前文提到的so文件对应平台的,在旧的unity版本中,发布Android是全平台的,也就是说unity3d默认你的so也适应全平台,但是网上下载的这里的so文件只对应armv7平台(也就是主流的平台,v8向下兼容),故应该这样配置。

如果so文件配置不好,很容易出现下图的问题 Database is not open ******balabala

============ 欢迎各位老板打赏~ ===========

本文版权归Bruce's Blog所有,转载引用请完整注明以下信息:
本文作者:Bruce
本文地址:【Unity】SQLite发布到Android | Bruce's Blog

发表评论

留言无头像?