Wie kann ich diese CrashlyticsMissingDependencyException beheben?

Lesezeit: 6 Minuten

Benutzer-Avatar
xialin

Ich benutze seit einiger Zeit das neueste Crashlytics (Fabric-Integration). Aber kürzlich bin ich auf den folgenden Absturzfehler aufgrund fehlender Abhängigkeit gestoßen, obwohl ich nichts an den Crashlytics-Konfigurationen geändert habe.

irgendeine Idee?

02-08 22:18:00.935  18887-18887/? E/Fabric﹕ .
02-08 22:18:00.935  18887-18887/? E/Fabric﹕ .     |  |
02-08 22:18:00.935  18887-18887/? E/Fabric﹕ .     |  |
02-08 22:18:00.935  18887-18887/? E/Fabric﹕ .     |  |
02-08 22:18:00.935  18887-18887/? E/Fabric﹕ .   \ |  | /
02-08 22:18:00.935  18887-18887/? E/Fabric﹕ .    \    /
02-08 22:18:00.935  18887-18887/? E/Fabric﹕ .     \  /
02-08 22:18:00.935  18887-18887/? E/Fabric﹕ .      \/
02-08 22:18:00.935  18887-18887/? E/Fabric﹕ .
02-08 22:18:00.935  18887-18887/? E/Fabric﹕ This app relies on Crashlytics. Please sign up for access at https://fabric.io/sign_up,
    install an Android build tool and ask a team member to invite you to this app's organization.
02-08 22:18:00.935  18887-18887/? E/Fabric﹕ .
02-08 22:18:00.935  18887-18887/? E/Fabric﹕ .      /\
02-08 22:18:00.935  18887-18887/? E/Fabric﹕ .     /  \
02-08 22:18:00.935  18887-18887/? E/Fabric﹕ .    /    \
02-08 22:18:00.935  18887-18887/? E/Fabric﹕ .   / |  | \
02-08 22:18:00.935  18887-18887/? E/Fabric﹕ .     |  |
02-08 22:18:00.935  18887-18887/? E/Fabric﹕ .     |  |
02-08 22:18:00.935  18887-18887/? E/Fabric﹕ .     |  |
02-08 22:18:00.935  18887-18887/? E/Fabric﹕ .
02-08 22:18:00.935  18887-18887/? E/AndroidRuntime﹕ FATAL EXCEPTION: main
    Process: com.example.android.staging, PID: 18887
    java.lang.RuntimeException: Unable to create application com.example.android.App: io.fabric.sdk.android.services.concurrency.UnmetDependencyException: com.crashlytics.android.CrashlyticsMissingDependencyException:
    This app relies on Crashlytics. Please sign up for access at https://fabric.io/sign_up,
    install an Android build tool and ask a team member to invite you to this app's organization.
            at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4734)
            at android.app.ActivityThread.access$1600(ActivityThread.java:171)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1357)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:157)
            at android.app.ActivityThread.main(ActivityThread.java:5506)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)
            at dalvik.system.NativeStart.main(Native Method)

  • Wie in den Antworten unten erwähnt, arbeiten wir an einer Lösung, aber die Verwendung von 1.14.4 wird funktionieren, während wir der Sache weiter auf den Grund gehen.

    – Mike Bonnell

    9. Februar 2015 um 23:15 Uhr

  • Ich versuche gerade mal die Fabrics für Android Studio zu deinstallieren und zu installieren. AS muss ein paar Mal neu starten, um seinen Verstand wiederzuerlangen.

    – Robert

    7. März 2016 um 4:16 Uhr

  • Verwenden Sie diesen Link docs.fabric.io/android/crashlytics/…

    – Shervin Gharib

    17. Mai 2016 um 12:44 Uhr

Benutzer-Avatar
i906

Ich habe die folgenden Codes hinzugefügt, bevor ich Fabric/Crashlytics tatsächlich installiert habe:

debug {
    ext.enableCrashlytics = false
}

Das Entfernen vor dem ersten Lauf mit Crashlytics löste das Problem. Das Problem tritt nach dem ersten Durchlauf nicht mehr auf.

  • Ich bekomme das gleiche Problem mit 1.20.1 und 2.5.2@aar. Aber ich kann diese Problemumgehung nicht für CI verwenden, da der Build-Arbeitsbereich für jeden Build zurückgesetzt wird 🙁

    – Hallo Rocker

    27. November 2015 um 8:51 Uhr

  • Ich arbeite mit den Ingenieuren von Fabric zusammen. Unterschiedliche Zeitzonen sind scheiße und es hat schon fast 2 Wochen gedauert. Immer noch keine Lösung. Sie können jedoch eine Problemumgehung für das CI versuchen: ./gradlew clean assemblieren , dann ./gradlew assemblieren, die vom zweiten Befehl generierte apk funktioniert wie gewohnt.

    – Hallo Rocker

    3. Dezember 2015 um 14:02 Uhr

  • @ThuyTrinh stellte sich heraus, dass es an dataBinding = true liegt. Crashlytics hat dafür einen Fix bereitgestellt: twittercommunity.com/t/…

    – Hallo Rocker

    4. Dezember 2015 um 17:08 Uhr

  • Fabric-Plugin heute aktualisiert und diesen Fehler erhalten. Problemumgehung hilft, funktioniert aber bei nachfolgenden Läufen nicht. Also muss ich diese Zeile für run kommentieren.

    – Ernst Poletajew

    8. Januar 2016 um 13:02 Uhr

  • Bei mir funktioniert es nicht in com.crashlytics.sdk.android:crashlytics:2.6.8@aar

    – Tas

    2. August 2017 um 11:14 Uhr

Ich hatte dies in Gradle auskommentiert

apply plugin: 'io.fabric'

musste es auskommentieren

Oder wenn Sie es nicht haben, fügen Sie es hinzu!

Benutzer-Avatar
gw0

Die einzige Problemumgehung für den Moment, wenn Sie Ihre App wirklich veröffentlichen müssen, besteht darin, die dynamischen Versionsnummern in statische zu ändern:

[...]

classpath 'io.fabric.tools:gradle:1.14.4'

[...]

compile('com.crashlytics.sdk.android:crashlytics:2.2.0@aar') {
        transitive = true
}

[...]

BEARBEITEN:

eine aktualisierte Version des Fabric SDK wurde veröffentlicht; Sie können es erhalten, indem Sie die Zeile wie folgt ändern:

classpath 'io.fabric.tools:gradle:1.26.1'

Benutzer-Avatar
Khaleesi

Scheint so, als würde man die Plugin-Version wie folgt angeben:

classpath 'io.fabric.tools:gradle:1.+' 

nimmt 1.15.1 auf, das das Problem hat.

Angabe von Dur und Moll zum vorherigen 1.14 scheint stabil zu sein:

classpath 'io.fabric.tools:gradle:1.14.+'

Benutzer-Avatar
Sergej K

Ich hatte das gleiche Problem nach dem Update-Plugin. zur Lösung muss aus AndroidManifest.xml entfernt werden:

<meta-data
    android:name="com.crashlytics.ApiKey"
    android:value="API_SECRET_KEY" />

und zu fabric.properties hinzufügen:

apiSecret=API_SECRET_KEY
apiKey=YOUR_SECRET_KEY

AKTUALISIEREN:

Jetzt müssen Sie verwenden:

  <meta-data
      android:name="io.fabric.ApiKey"
      android:value="API_KEY" />

  • Ihre Integrationsrichtlinien schienen veraltet. Scheinbar braucht man keine fabric.properties mehr sondern a <meta-data android:name="io.fabric.ApiKey" android:value="YOUR_API_KEY"/> in der AM-Datei. Der Name wurde von “com.crashlytics.ApiKey” in “io.fabric.ApiKey” geändert.

    – Thuy Trinh

    7. Dezember 2015 um 10:46 Uhr

  • Ja du hast Recht. Es ist wichtig. Ich habe meinen Beitrag aktualisiert. Vielen Dank.

    – Sergej K

    8. Dezember 2015 um 11:53 Uhr

Benutzer-Avatar
Draken

Wenn Sie die Deaktivierungsfunktion während des Debuggens wie gezeigt verwenden

 Crashlytics crashlyticsKit = new Crashlytics.Builder()
            .core(new CrashlyticsCore.Builder().disabled(BuildConfig.DEBUG).build())
            .build();
    Fabric.with(this, crashlyticsKit);

Was passiert, wenn Sie die Version von crashlytics aktualisieren, ist Folgendes

Fabric.with(this, crashlyticsKit); 

zugewandt ist

Fabric.with(this,new Crashlytics());

Stellen Sie also sicher, dass Sie das wieder auf crashlyticskit ändern. Wenn Sie dies richtig machen und der Fehler weiterhin auftritt, stellen Sie sicher, dass Sie dies getan haben

debug {

      ext.enableCrashlytics = false
 }

unter Android {Buildtypes{}}

  • Ihre Integrationsrichtlinien schienen veraltet. Scheinbar braucht man keine fabric.properties mehr sondern a <meta-data android:name="io.fabric.ApiKey" android:value="YOUR_API_KEY"/> in der AM-Datei. Der Name wurde von “com.crashlytics.ApiKey” in “io.fabric.ApiKey” geändert.

    – Thuy Trinh

    7. Dezember 2015 um 10:46 Uhr

  • Ja du hast Recht. Es ist wichtig. Ich habe meinen Beitrag aktualisiert. Vielen Dank.

    – Sergej K

    8. Dezember 2015 um 11:53 Uhr

Benutzer-Avatar
Mike Bonnell

Mike von Crashlytics hier. Wir haben heute eine aktualisierte Version – 1.15.2 – ausgeliefert, die eine Korrektur für dieses Verhalten enthält. Wenn du läufst:

./gradlew assemble --refresh-dependencies

das wird die neueste Version ziehen. Sie können auch mehr sehen Details zum Fix hier.

  • Ich verwende nicht nur die Fabric-Integration von Crashlytics selbst, sondern erhalte auch CrashlyticsMissingDependencyException. Wie könnte ich damit umgehen?

    – Bogumil

    10. Februar 2015 um 21:26 Uhr

  • @bogumil kannst du einen Teil deiner build.gradle einfügen?

    – Mike Bonnell

    19. Februar 2015 um 2:29 Uhr

  • @MikeB Nach einiger Zeit bekomme ich wieder CrashlyticsMissingDependencyException. Ich verwende: Abhängigkeiten { Klassenpfad ‘com.android.tools.build:gradle:1.2.3’ Klassenpfad ‘com.crashlytics.tools.gradle:crashlytics-gradle:1.16.0’ } und kompiliere ‘com.crashlytics.android :crashlytics:1.1.13’

    – Bogumil

    20. Mai 2015 um 20:01 Uhr


  • Hmm, sehr seltsam @bogumil. Hilft das Ausführen von Aktualisierungsabhängigkeiten?

    – Mike Bonnell

    21. Mai 2015 um 20:22 Uhr

  • @MikeB Es hilft nicht. Ich habe auch eine E-Mail an support@ gesendet und kann bei Bedarf weitere Details liefern.

    – Bogumil

    22. Mai 2015 um 9:27 Uhr

1321060cookie-checkWie kann ich diese CrashlyticsMissingDependencyException beheben?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy