Firebase for Unity示例应用程序崩溃:无法找到'com.google.android.gms.common.api.PendingResult'类'
问题描述:
我试图运行适用于Unity的Firebase示例身份验证应用程序(从here), 但该应用程序在初始化过程中崩溃。Firebase for Unity示例应用程序崩溃:无法找到'com.google.android.gms.common.api.PendingResult'类'
这里的崩溃日志:
D/dalvikvm(18363): Trying to load lib /mnt/asec/com.google.firebase.unity.auth.testapp-2/lib/libApp.so 0x42351d70
D/dalvikvm(18363): Added shared lib /mnt/asec/com.google.firebase.unity.auth.testapp-2/lib/libApp.so 0x42351d70
W/dalvikvm(18363): dvmFindClassByName rejecting 'com/google/firebase/app/internal/cpp/Log'
W/dalvikvm(18363): dvmFindClassByName rejecting 'com/google/firebase/app/internal/cpp/Log'
W/dalvikvm(18363): dvmFindClassByName rejecting 'com/google/firebase/app/internal/cpp/JniResultCallback'
W/dalvikvm(18363): dvmFindClassByName rejecting 'com/google/firebase/app/internal/cpp/JniResultCallback'
E/dalvikvm(18363): Could not find class 'com.google.android.gms.common.api.PendingResult', referenced from method com.google.firebase.app.internal.cpp.JniResultCallback.initializeWithPendingResultOrTask
W/dalvikvm(18363): VFY: unable to resolve instanceof 4 (Lcom/google/android/gms/common/api/PendingResult;) in Lcom/google/firebase/app/internal/cpp/JniResultCallback;
D/dalvikvm(18363): VFY: replacing opcode 0x20 at 0x0000
I/dalvikvm(18363): Failed resolving Lcom/google/firebase/app/internal/cpp/JniResultCallback$PendingResultCallback; interface 6 'Lcom/google/android/gms/common/api/ResultCallback;'
W/dalvikvm(18363): Link of class 'Lcom/google/firebase/app/internal/cpp/JniResultCallback$PendingResultCallback;' failed
D/dalvikvm(18363): DexOpt: unable to opt direct call 0x0013 at 0x08 in Lcom/google/firebase/app/internal/cpp/JniResultCallback;.initializeWithPendingResultOrTask
I/dalvikvm(18363): Failed resolving Lcom/google/firebase/app/internal/cpp/JniResultCallback$TaskCallback; interface 9 'Lcom/google/android/gms/tasks/OnSuccessListener;'
W/dalvikvm(18363): Link of class 'Lcom/google/firebase/app/internal/cpp/JniResultCallback$TaskCallback;' failed
D/dalvikvm(18363): DexOpt: unable to opt direct call 0x0016 at 0x12 in Lcom/google/firebase/app/internal/cpp/JniResultCallback;.initializeWithPendingResultOrTask
W/dalvikvm(18363): dvmFindClassByName rejecting 'com/google/firebase/app/internal/cpp/CppThreadDispatcher'
W/dalvikvm(18363): dvmFindClassByName rejecting 'com/google/firebase/app/internal/cpp/CppThreadDispatcher'
W/dalvikvm(18363): dvmFindClassByName rejecting 'com/google/firebase/analytics/FirebaseAnalytics'
W/dalvikvm(18363): dvmFindClassByName rejecting 'com/google/firebase/analytics/FirebaseAnalytics'
W/dalvikvm(18363): dvmFindClassByName rejecting 'com/google/android/gms/ads/MobileAds'
W/dalvikvm(18363): dvmFindClassByName rejecting 'com/google/android/gms/ads/MobileAds'
W/dalvikvm(18363): dvmFindClassByName rejecting 'com/google/firebase/crash/FirebaseCrash'
W/dalvikvm(18363): dvmFindClassByName rejecting 'com/google/firebase/crash/FirebaseCrash'
W/dalvikvm(18363): dvmFindClassByName rejecting 'com/google/android/gms/appinvite/AppInvite'
W/dalvikvm(18363): dvmFindClassByName rejecting 'com/google/android/gms/appinvite/AppInvite'
W/dalvikvm(18363): dvmFindClassByName rejecting 'com/google/firebase/messaging/FirebaseMessaging'
W/dalvikvm(18363): dvmFindClassByName rejecting 'com/google/firebase/messaging/FirebaseMessaging'
W/dalvikvm(18363): dvmFindClassByName rejecting 'com/google/firebase/remoteconfig/FirebaseRemoteConfigInfo'
W/dalvikvm(18363): dvmFindClassByName rejecting 'com/google/firebase/remoteconfig/FirebaseRemoteConfigInfo'
W/dalvikvm(18363): dvmFindClassByName rejecting 'com/google/firebase/app/internal/cpp/Log'
W/dalvikvm(18363): dvmFindClassByName rejecting 'com/google/firebase/app/internal/cpp/Log'
W/dalvikvm(18363): dvmFindClassByName rejecting 'com/google/firebase/app/internal/cpp/JniResultCallback'
W/dalvikvm(18363): dvmFindClassByName rejecting 'com/google/firebase/app/internal/cpp/JniResultCallback'
E/dalvikvm(18363): Could not find class 'com.google.android.gms.common.api.PendingResult', referenced from method com.google.firebase.app.internal.cpp.JniResultCallback.initializeWithPendingResultOrTask
W/dalvikvm(18363): VFY: unable to resolve instanceof 4 (Lcom/google/android/gms/common/api/PendingResult;) in Lcom/google/firebase/app/internal/cpp/JniResultCallback;
答
它看起来像你错过了播放服务基地AAR包含PendingResult,这可能意味着你错过了其他Android依赖的SDK为好。
您应该看到一个AAR就像在你的资产文件夹中的项目下面,当你选择Android作为目标平台: *资产/插件/ Android的/播放服务碱基10.0.1.aar
这包含PendingResult类...
$ unzip Plugins/Android/play-services-base-10.0.1.aar classes.jar
Archive: Plugins/Android/play-services-base-10.0.1.aar
inflating: classes.jar
$ unzip -l classes.jar | grep /PendingResult\.class
1762 11-22-16 22:25 com/google/android/gms/common/api/PendingResult.class
有可能是一对夫妇的事情,可能是错在你的项目:
- 你有Android的RESOLV呃禁用(通过资产 - >播放服务解析器 - > Android解析器 - >设置菜单项启用它)
- 您的项目中有Android AARs的混合不匹配。 删除Assets/Plugins/Android/下的所有.aars,并允许Android Resolver提取最新的设置。
即使我在Play服务解析器/编辑器中更改文件的设置,添加Android平台并应用它然后停用Android平台。但是这次我的构建/ apk工作。 – Erdi