In meiner App, in der ich unter anderem Firebase, Firebase-UI und Google Maps verwende, hat es perfekt funktioniert. Ich möchte auf die neueste Version jeder Bibliothek aktualisieren und Firebase Performance installieren.

Der Fehler , den ich bekomme, ist:

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

Und wenn ich auf diesen Fehler klicke, werde ich zu einer Aktivität in dieser Zeile weitergeleitet:

auth = FirebaseAuth.getInstance();

Hier ist mein 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'

Kann jemand erkennen, wo das Problem in meinen Abhängigkeiten liegt? Vielen Dank

UPDATE Mit Peters Hilfe konnte ich den Fehler korrigieren und von firebase-auth: 16.0.1 zu firebase-auth: 17.0.0 wechseln.

Jetzt wird beim Installieren und Öffnen meiner App ein weiterer Fehler angezeigt:

java.lang.RuntimeException: Uncaught exception in Firebase Database runloop (3.0.0). Please report to firebase-database-client@google.com
        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;

Der Fehler wird angezeigt, wenn ich diese Zeile zum ersten Mal in meiner App verwende:

myRef = FirebaseDatabase.getInstance().getReference();
13
Jose Q 10 Mai 2019 im 03:39

4 Antworten

Beste Antwort

Es sieht so aus, als würden Sie com.google.firebase:firebase-database:16.0.5 über die Abhängigkeit von com.firebaseui:firebase-ui:4.3.2 (https://github.com/firebase/FirebaseUI-Android/releases/tag/4.3.2)

Versuchen Sie, dies zu Ihrem build.gradle hinzuzufügen:

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

Überprüfen Sie im Allgemeinen auch, ob Sie die neuesten Versionen verwenden. Diese finden Sie unter https: / /firebase.google.com/docs/android/setup#available-libraries

HINWEIS: Dies basiert auf dem neuen Fehler in Ihrem Update nach dem Wechsel von firebase-auth: 16.0.1 zu firebase-auth: 17.0.0

11
jkasnicki 17 Mai 2019 im 12:03

Ändere das:

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

Das mögen:

implementation 'com.google.firebase:firebase-auth:17.0.0' 
6
Peter Haddad 10 Mai 2019 im 04:46

Aktualisieren Sie alles (Firebase Auth, Cloud usw.) auf die neuesten Versionen, indem Sie einfach mit der Maus darüber fahren.

1
user3156040 12 Nov. 2019 im 12:50

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

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

1
android studio 4 Apr. 2020 im 14:50