error: cannot access InternalTokenProvider (Firebase/GooglePlayServices)

19,846

Solution 1

It looks like you are pulling in com.google.firebase:firebase-database:16.0.5 via the dependency on com.firebaseui:firebase-ui:4.3.2 (https://github.com/firebase/FirebaseUI-Android/releases/tag/4.3.2)

Try adding this to your build.gradle:

implementation 'com.google.firebase:firebase-database:17.0.0'

Also, generally check you are using the latest versions, which can be found at https://firebase.google.com/docs/android/setup#available-libraries

NOTE: This is based on the new error in your update after changing from firebase-auth:16.0.1 to firebase-auth:17.0.0

Solution 2

Change this:

implementation 'com.google.firebase:firebase-auth:16.0.1'

Into this:

implementation 'com.google.firebase:firebase-auth:17.0.0' 

Solution 3

Upgrade everything(Firebase Auth, Cloud, etc) to the latest versions by just hovering mouse over it.

Solution 4

implementation 'com.google.firebase:firebase-auth:16.0.5'

implementation 'com.google.firebase:firebase-database:17.0.0'

Solution 5

implementation 'com.google.firebase:firebase-database:16.0.5'
implementation 'com.google.firebase:firebase-storage:16.0.5'

or:

implementation 'com.google.firebase:firebase-analytics:17.4.1'
implementation 'com.google.firebase:firebase-database:19.3.0'
implementation 'com.google.firebase:firebase-auth:19.3.1'

Sync to this version and see.
If not, upgrade the Firebase tools on Android Studio.

Share:
19,846
Jose Q
Author by

Jose Q

Updated on June 17, 2022

Comments

  • Jose Q
    Jose Q almost 2 years

    In my app where I use firebase, firebase-ui, google maps, among others, it worked perfectly. I want to update to the latest version of each library and install Firebase Performance.

    The error I get is:

    error: cannot access InternalTokenProvider
    class file for com.google.firebase.internal.InternalTokenProvider not found
    

    And when I click on this error it sends me to an Activity to this line:

    auth = FirebaseAuth.getInstance();
    

    Here's my build.gradle:

    apply plugin: 'com.android.application'
    apply plugin: 'kotlin-android-extensions'
    apply plugin: 'kotlin-android'
    apply plugin: 'io.fabric'
    apply plugin: 'com.google.firebase.firebase-perf'
    
    android {
        signingConfigs {
            release {
                //signin things
            }
        }
        compileSdkVersion 28
        defaultConfig {
    
            applicationId "app.example.asd"
            minSdkVersion 21
            targetSdkVersion 28
            versionCode 22
            versionName "2"
            testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
            multiDexEnabled true
            signingConfig signingConfigs.release
        }
        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            }
        }
        productFlavors {
        }
    }
    
    dependencies {
        implementation fileTree(include: ['*.jar'], dir: 'libs')
        implementation 'androidx.appcompat:appcompat:1.0.0'
        implementation 'androidx.gridlayout:gridlayout:1.0.0'
        implementation 'com.google.android.material:material:1.0.0'
    
        implementation 'com.google.firebase:firebase-perf:17.0.0'
    
        implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
        implementation 'com.facebook.android:facebook-android-sdk:4.42.0'
        implementation 'com.google.firebase:firebase-core:16.0.9'
        implementation 'com.google.firebase:firebase-messaging:18.0.0'
        implementation "com.google.firebase:firebase-auth:16.0.1"
        implementation 'com.firebaseui:firebase-ui:4.3.2'
        implementation 'com.facebook.android:facebook-login:4.42.0'
        implementation 'androidx.multidex:multidex:2.0.1'
        implementation 'com.google.android.gms:play-services-base:16.1.0'
        implementation 'com.google.android.gms:play-services-location:16.0.0'
        implementation 'com.google.android.gms:play-services-maps:16.1.0'
        implementation 'com.google.android.gms:play-services-auth:16.0.1'
        implementation 'com.google.android.gms:play-services-places:16.1.0'
    
        implementation 'com.google.firebase:firebase-inappmessaging-display:17.1.1'
    
        implementation 'com.facebook.android:facebook-share:4.42.0'
    
        implementation 'com.android.volley:volley:1.1.1'
    
        implementation 'com.crashlytics.sdk.android:crashlytics:2.10.0'
    
        annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0'
    
        testImplementation 'junit:junit:4.12'
        androidTestImplementation 'androidx.test:runner:1.1.1'
        androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
    
        //kt y rxjava
        implementation 'androidx.core:core-ktx:1.0.0'
        implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
        implementation 'com.tbruyelle.rxpermissions2:rxpermissions:0.9.5@aar'
        implementation 'io.reactivex.rxjava2:rxandroid:2.0.1'
        implementation 'io.reactivex.rxjava2:rxjava:2.1.0'
        //lib en kt
    }
    
    repositories {
        mavenCentral()
    }
    apply plugin: 'com.google.gms.google-services'
    

    Can anyone detect where the problem is in my dependencies? Thank you

    UPDATE With Peter's help I was able to correct the error, changing from firebase-auth:16.0.1 to firebase-auth:17.0.0.

    Now I'm getting another error when I install and open my app, this is it:

    java.lang.RuntimeException: Uncaught exception in Firebase Database runloop (3.0.0). Please report to [email protected]
            at com.google.firebase.database.android.AndroidPlatform$1$1.run(com.google.firebase:firebase-database@@16.0.5:98)
            at android.os.Handler.handleCallback(Handler.java:790)
            at android.os.Handler.dispatchMessage(Handler.java:99)
            at android.os.Looper.loop(Looper.java:164)
            at android.app.ActivityThread.main(ActivityThread.java:7000)
            at java.lang.reflect.Method.invoke(Native Method)
            at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:441)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1408)
         Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/firebase/FirebaseApp$IdTokenListener;
    

    The error appears the first time I use this line in my app:

    myRef = FirebaseDatabase.getInstance().getReference();
    
  • Jose Q
    Jose Q almost 5 years
    Sorry for the delay, I had gone back to my build.gradle working file and was developing another module. Please check the update in my question.
  • Vlad
    Vlad almost 5 years
    Also upgrade other firebase dependencies to 17.x.x+