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提取最新的设置。
+0

即使我在Play服务解析器/编辑器中更改文件的设置,添加Android平台并应用它然后停用Android平台。但是这次我的构建/ apk工作。 – Erdi