DLLNotFoundException:xxx tolua... 错误打印
- 一、DLLNotFoundException介绍
- 二、Plugins文件夹
- 三、Plugins中的Android文件夹
- 四、Plugins中的IOS文件夹这里不说了没测试过不过原理应该也是选择对应的平台即可
- 五、Plugins中的x86和X86_64文件夹
一、DLLNotFoundException介绍
首先区分一个问题只要是与DLLNotFoundException相关的必然是丢失了DLL文件,不管是安卓还是Window还是Mac原理都是一样的。
二、Plugins文件夹
既然是跟DLLNotFoundException相关,必然是与Plugins文件夹相关,原因是因为Plugins文件夹中存放了我们使用插件的兼容dll,只有Plugins文件夹包含了对应平台的.dll或者.so文件才能让我们的插件正常使用。
文件目录结构如下:
这些是我们常用平台的一些目录文件结构
三、Plugins中的Android文件夹
用其中一个为例子
对应在Android文件夹中的文件后缀大部分为.so文件(之前安卓打包处理了半天这个问题,因为SVN更新不到这个后缀为.so的文件,所以一直在报DLLNotFoundException:tolua的错误,后来才意识到),平台选择的画直接选择Android即可,CPU选择与文件夹对应的即可(这个例子中对应的文件夹是arm64-v8a,所以对应的是ARM64)
armeabi-v7a文件夹和X86文件夹同理只需要将文件的CPU改为对应的ARMv7和X86即可
这里再说一下打包apk的时候有时候会有两个相同的文件冲突比如说x86和x86_64中的两个文件一样,直接删除即可 因为你安卓手机用不到X86和X86_64的文件
四、Plugins中的IOS文件夹这里不说了没测试过不过原理应该也是选择对应的平台即可
五、Plugins中的x86和X86_64文件夹
Window平台下用x86中一个为例子,这个文件夹中的文件大部分为DLL文件,选择平台的时候用Any Platforms即可
平台CPU和OS修改如下
编辑器模式下的文件夹如下选择
如果是X86_64的,直接将上述的X_86全部替换为X86_64即可