java - Unity3D - 由于 Firebase Messaging SDK 设置失败而导致 Android 崩溃

标签 java android firebase unity-game-engine firebase-cloud-messaging

我尝试将 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/

相关文章:

java - Spring Boot 无法从属性文件中读取值

java - 如何在android中使用retrofit获取Json响应中的数组数据?

android - 设置内容 View ();在我的闪屏 Activity 中出错

android - 如何对齐 ImageView 和 TextView 在线性布局中右对齐

swift - 访问 Firebase Analytics 数据

java - 在java中生成唯一的随机数

java - 设置tomcat上下文路径

android - 禁止 gradle 清理一些文件夹

firebase - Firestore分布式计数器: How to know the ideal shards sum we need?

firebase - 现在将服务器值设置为时间戳