DllNotFound: FirebaseCppApp-6_14_0只能在Android上使用?

问题描述 投票:0回答:1

我目前正在使用Unity创建我的游戏,现在正在实现用户账号系统。usernamepassword的sendreceive方法在Editor中完全正常,但是当我在Android上构建时,logcat给我问题标题中的错误(DllNotFound)。

很明显DLL没有丢失,是吗?否则在单机的desktopEditor上就不能用了?如果是这样,我假设它没有被内置到Unity.apk中,不管是什么原因。有人知道原因吗?我在网上没有找到任何有用的资源,因为我遇到的所有类似问题都是关于根本没有功能,而不是跨平台的分割功能。

有什么原因会让Unity在Editorstandalone中识别一个DLL,而在Android构建中不识别呢? (问题中的.dll位于/Assets/Firebase/Plugins/x86_64,如果这有帮助的话)。

firebase unity3d
1个回答
0
投票

你的解决办法可能是在Android解析器中运行强制解析。

Assets/External Dependency Manager/Android Resolver/Force Resolve

这应该会给你提供你需要的文件,作为以下文件的一部分 firebase-app-unity:Assets/Plugins/Android expanded with firebase-app-unity highlighted

我的推理。

Unity SDK实际上为iOS、Android、MacOS、Windows和Linux提供了大约5个原生库(加上不同架构的变体&c)。FirebaseCppApp库是一些Firebase功能的C++实现。如果你在你列出的文件夹里找,你会看到一堆针对不同编辑器平台的库文件夹。

╰─$ ls -al | fgrep -v .meta
total 558360
drwxr-xr-x@ 14 martinpatrick  primarygroup        448 May  8 10:06 .
drwxr-xr-x  25 martinpatrick  primarygroup        800 May  8 10:18 ..
-rwxrwxr-x@  1 martinpatrick  primarygroup      48236 Dec  4  2016 FirebaseCppAnalytics.bundle
-rwxrwxr-x@  1 martinpatrick  primarygroup     355840 Dec  4  2016 FirebaseCppAnalytics.dll
-rwxrwxr-x@  1 martinpatrick  primarygroup     226136 Dec  4  2016 FirebaseCppAnalytics.so
-rwxrwxr-x@  1 martinpatrick  primarygroup   23186972 Dec  4  2016 FirebaseCppApp-6_14_0.bundle
-rwxrwxr-x@  1 martinpatrick  primarygroup    7526400 Dec  4  2016 FirebaseCppApp-6_14_0.dll
-rwxrwxr-x@  1 martinpatrick  primarygroup  254502608 Dec  4  2016 FirebaseCppApp-6_14_0.so

bundle 是OSX的。dll 是针对Windows的,而 so 是针对Linux的。

显然,这缺少了iOS和Android变体的SDK。

原生的iOS和Android包是通过外部依赖管理器为你拉进来的(见此职位,Play Services Resolver是旧名)。) 当它运行时,它会寻找一个与模式匹配的文件 *Dependencies.xml 并开始寻找要拉入的本地库。

Firebase包含一个本地Android maven仓库,地址是 Assets/Firebase/m2repository 其中包含 firebase-app-unity-6.14.0.srcaar 与Android C++实现。如果你没有使用gradle来解决依赖关系,它应该将必要的组件复制到 Assets/Plugins/Android 根据你在解析器中的设置,在构建过程中会出现。Settings window

请注意,如果你使用的是gradle,这个包会被添加到你的 mainTemplate.gradle. 如果没有提到它,就可能出了问题。

--帕特里克

© www.soinside.com 2019 - 2024. All rights reserved.