J'utilise le dernier Crashlytics (intégration Fabric) depuis un certain temps. Mais récemment, j'ai rencontré l'erreur de plantage suivante en raison d'une dépendance manquante, bien que je n'ai rien changé aux configurations Crashlytics.
une idée?
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)
android
crashlytics
twitter-fabric
xialine
la source
la source
Réponses:
La seule solution de contournement pour le moment, si vous avez vraiment besoin de publier votre application (comme moi), est de changer les numéros de version dynamiques en numéros statiques:
ÉDITER:
une version mise à jour du kit SDK Fabric a été publiée; vous pouvez l'obtenir en modifiant la ligne comme suit:
la source
https://maven.fabric.io/repo
https://maven.fabric.io/public
J'ai ajouté les codes suivants avant d'installer réellement Fabric / Crashlytics:
Le supprimer avant la première exécution avec Crashlytics a résolu le problème. Le problème ne se produit plus après la première exécution.
la source
com.crashlytics.sdk.android:crashlytics:2.6.8@aar
J'ai fait commenter ceci en gradle
besoin de le décommenter
Ou si vous ne l'avez pas, ajoutez-le!
la source
On dirait que la version du plugin est spécifiée comme suit:
prend 1.15.1, qui a le problème.
Spécifier majeur et mineur au précédent
1.14
semble être stable:la source
J'ai eu le même problème après la mise à jour du plugin. pour résoudre le besoin de supprimer d'AndroidManifest.xml:
et ajoutez à fabric.properties:
METTRE À JOUR:
Maintenant, vous devez utiliser:
la source
<meta-data android:name="io.fabric.ApiKey" android:value="YOUR_API_KEY"/>
dans le fichier AM. Le nom est passé de «com.crashlytics.ApiKey» à «io.fabric.ApiKey».Si vous utilisez la fonction de désactivation pendant le débogage comme indiqué
Ce qui se passe lorsque vous mettez à jour la version de crashlytics est que
est tourné vers
Assurez-vous donc de changer cela en crashlyticskit. Si vous faites cela correctement et que l'erreur persiste, assurez-vous d'avoir
sous android {buildtypes {}}
la source
Mike de Crashlytics ici. Nous avons livré une version mise à jour - 1.15.2 - plus tôt dans la journée qui inclut un correctif pour ce comportement. Si vous exécutez:
qui tirera dans la dernière version. Vous pouvez également voir plus de détails sur le correctif ici.
la source
Fix pour moi De la source officielle
Désactiver Crashlytics pour les versions de débogage
Si vous n'avez pas besoin de rapports de plantage Crashlytics ou de distribution bêta pour les versions de débogage, vous pouvez accélérer vos versions de débogage en toute sécurité en désactivant complètement le plugin avec ces deux étapes:
Tout d'abord, ajoutez ceci à build.gradle de votre application:
Ensuite, désactivez le kit Crashlytics lors de l'exécution. Sinon, le kit Crashlytics lancera l'erreur suivante:
Vous pouvez désactiver le kit lors de l'exécution pour les versions de débogage uniquement avec le code suivant:
la source
Le problème se produit également si vous incluez accidentellement Crashlytics BuildConfig - très facile à faire avec les importations automatiques d'Android Studio / IntelliJ.
J'avais importé
import com.crashlytics.android.core.BuildConfig;
Au lieu du mien
import <package_name>.BuildConfig;
la source
Pour moi, c'était à cause de
dataBinding = true
. La mise à niveau du plugin Fabric Gradle vers la version 1.21.0 a résolu le problème: https://twittercommunity.com/t/fabric-gradle-plugin-1-21-0-add-support-for-android-databinding-true/57474la source
Dans mon cas, j'utilisais fabric dans un module "CommonLib" qui a été ajouté en tant que dépendance dans tous les autres modules (y compris l'application). Donc, j'avais ajouté
apply plugin: 'io.fabric'
aprèsbuildscript {}
bloc. Donc, j'ai placé deux plugins ensemble:Et le problème a été résolu!
la source
Assurez-vous de l'ajouter
apply plugin: 'io.fabric'
à votre projet d'applicationbuild.gradle
. Dans mon cas, j'avais un communbuild.gradle
avecapply plugin: 'io.fabric'
. Le déplacer vers le projet d'application a résolu le problème.la source
Au cas où cela aiderait quelqu'un d'autre, j'ai eu un problème similaire lors de la mise à niveau de Crashlytics vers Fabric. Dans mon cas, le plugin a laissé 2 lignes de Crashlytics que je devais supprimer manuellement avant de fonctionner.
Dans le fichier gradle, sous les dépendances buildscript, j'ai dû supprimer manuellement:
De plus, sous les dépendances, j'ai dû supprimer manuellement:
la source
Vérifiez si crashlytics est désactivé dans le fichier build.gradle
Utilisez plutôt
la source
Peut-être suis-je en retard pour répondre. Mais cela peut arriver pour une autre raison en dehors de toutes les réponses ci-dessus
Si vous manquez d'ajouter
Cela peut sembler étrange mais cela entraînera le même problème
Ceci est ajouté par défaut par Fabric lorsque nous nous inscrivons et ajoutons du code à partir de la fenêtre Fabric à l'aide de l'EDI, mais il peut être supprimé accidentellement.
la source
La suppression de l'icône de l'application a corrigé Crashylitics, whaaat?
J'ai tout fait sur la base du tutoriel d'intégration, en utilisant les dernières versions, etc.
Je viens de perdre une heure à essayer de comprendre cela. Il s'avère que quelqu'un a pensé que c'était une bonne idée de lire le nom du package de l'icône de l'application au lieu d'
context.packageName
obtenir les ressources de l'application dans un contexte. C'est fait dans cette méthode:io.fabric.sdk.android.services.common.CommonUtils#getResourcePackageName
Ce souffle de toute évidence si vous arrive d'utiliser une icône qui est pas dans l'APK, par exemple:
android:icon="@android:drawable/sym_def_app_icon"
. C'était probablement une bonne idée à l'époque, demandez-vous quel bug étrange ils essayaient de contourner?!la source
Ajoutez cela à dans
AndroidManifest.xml
.la source