我尝试将 Firebase Messaging SDK 设置到我的 Unity 2017.4 项目中。
我选择要安装的dot net 3库。
构建成功,但是当我尝试启动应用程序时它崩溃了。
通过日志我得到:
12-02 16:40:57.237 4542 4542 E AndroidRuntime: Process: com.snowyapps.belajarabc, PID: 4542
12-02 16:40:57.237 4542 4542 E AndroidRuntime: java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.snowyapps.belajarabc/com.google.firebase.MessagingUnityPlayerActivity}: java.lang.ClassNotFoundException: Didn't find class "com.google.firebase.MessagingUnityPlayerActivity" on path: DexPathList[[zip file "/data/app/com.snowyapps.belajarabc-1/base.apk"],nativeLibraryDirectories=[/data/app/com.snowyapps.belajarabc-1/lib/arm64, /data/app/com.snowyapps.belajarabc-1/base.apk!/lib/arm64-v8a, /system/lib64, /vendor/lib64]]
12-02 16:40:57.237 4542 4542 E AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2819)
12-02 16:40:57.237 4542 4542 E AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2988)
12-02 16:40:57.237 4542 4542 E AndroidRuntime: at android.app.ActivityThread.-wrap14(ActivityThread.java)
12-02 16:40:57.237 4542 4542 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1631)
12-02 16:40:57.237 4542 4542 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:102)
12-02 16:40:57.237 4542 4542 E AndroidRuntime: at android.os.Looper.loop(Looper.java:154)
12-02 16:40:57.237 4542 4542 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:6682)
12-02 16:40:57.237 4542 4542 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
12-02 16:40:57.237 4542 4542 E AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1520)
12-02 16:40:57.237 4542 4542 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1410)
12-02 16:40:57.237 4542 4542 E AndroidRuntime: Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.firebase.MessagingUnityPlayerActivity" on path: DexPathList[[zip file "/data/app/com.snowyapps.belajarabc-1/base.apk"],nativeLibraryDirectories=[/data/app/com.snowyapps.belajarabc-1/lib/arm64, /data/app/com.snowyapps.belajarabc-1/base.apk!/lib/arm64-v8a, /system/lib64, /vendor/lib64]]
12-02 16:40:57.237 4542 4542 E AndroidRuntime: at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
12-02 16:40:57.237 4542 4542 E AndroidRuntime: at java.lang.ClassLoader.loadClass(ClassLoader.java:380)
12-02 16:40:57.237 4542 4542 E AndroidRuntime: at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
12-02 16:40:57.237 4542 4542 E AndroidRuntime: at android.app.Instrumentation.newActivity(Instrumentation.java:1086)
12-02 16:40:57.237 4542 4542 E AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2809)
12-02 16:40:57.237 4542 4542 E AndroidRuntime: ... 9 more
有办法解决这个问题吗?
谢谢...
最佳答案
通过包管理器安装所有需要的 Firebase 包而不是导入 .unitypackage
文件为我解决了这个问题。我的一些软件包是通过管理器安装的,其中一些是通过导入安装的,这显然导致了某种依赖性困惑。
转到包管理器(窗口 -> 包管理器)并搜索 Firebase。确保在左上角的下拉列表中选择“所有包”选项。如果您需要的任何软件包未在管理器中标记为已安装,请安装它。
如果重新安装软件包后出现有关 GUID 冲突的错误,只需删除 Assets 文件夹中的冲突文件并保留 Packages 文件夹中的文件即可。
关于java - Unity3D - 由于 Firebase Messaging SDK 设置失败而导致 Android 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59138751/