Jay
Jay

Reputation: 205

Firebase for Unity sample app crashes with: Could not find class 'com.google.android.gms.common.api.PendingResult'

I'm trying to run the Firebase sample authentication app for Unity (from here), but the app crashes during initialization.

Here's the crash log:

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;

Upvotes: 0

Views: 2201

Answers (1)

stewartmiles
stewartmiles

Reputation: 71

It looks like you're missing the Play Services Base AAR which contains PendingResult, which may mean you're missing other Android dependencies for the SDK as well.

You should see an AAR like the following in your Assets folder in your project when you select Android as the target platform: * Assets/Plugins/Android/play-services-base-10.0.1.aar

This contains the PendingResult class...

$ 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

There could be a couple of things that may be wrong in your project:

  • You have the Android Resolver disabled (enable it via the Assets -> Play Services Resolver -> Android Resolver -> Settings menu item)
  • You have a mismatched mix of Android AARs in your project. Delete all .aars under Assets/Plugins/Android/ and allow the Android Resolver to pull the latest set.

Upvotes: 1

Related Questions