web-dev-qa-db-fra.com

Crashlytics error - Cette application s'appuie sur Crashlytics. S'il vous plaît vous inscrire pour accéder

J'ai deux types de construction dans Gradle, mais pour une raison quelconque, chaque fois que je modifie l'indicateur suivant par false, je reçois le message d'erreur intitulé:

ext.enableCrashlytics = false

l'erreur elle-même complète est ci-dessous:

Process: com.mobile.myapp.staging, PID: 5439
Java.lang.RuntimeException: Unable to create application com.mobile.myapp.UI.myappApplication: io.fabric.sdk.Android.services.concurrency.UnmetDependencyException: 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:4710)
at Android.app.ActivityThread.-wrap1(ActivityThread.Java)
at Android.app.ActivityThread$H.handleMessage(ActivityThread.Java:1405)
at Android.os.Handler.dispatchMessage(Handler.Java:102)
at Android.os.Looper.loop(Looper.Java:148)
at Android.app.ActivityThread.main(ActivityThread.Java:5417)
at Java.lang.reflect.Method.invoke(Native Method)
at com.Android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.Java:726)
at com.Android.internal.os.ZygoteInit.main(ZygoteInit.Java:616)
Caused by: io.fabric.sdk.Android.services.concurrency.UnmetDependencyException: 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 com.crashlytics.Android.core.CrashlyticsCore.onPreExecute(CrashlyticsCore.Java:234)
at com.crashlytics.Android.core.CrashlyticsCore.onPreExecute(CrashlyticsCore.Java:207)
at io.fabric.sdk.Android.InitializationTask.onPreExecute(InitializationTask.Java:44)
at io.fabric.sdk.Android.services.concurrency.AsyncTask.executeOnExecutor(AsyncTask.Java:611)
at io.fabric.sdk.Android.services.concurrency.PriorityAsyncTask.executeOnExecutor(PriorityAsyncTask.Java:43)
at io.fabric.sdk.Android.Kit.initialize(Kit.Java:69)
at io.fabric.sdk.Android.Fabric.initializeKits(Fabric.Java:440)
at io.fabric.sdk.Android.Fabric.init(Fabric.Java:384)
at io.fabric.sdk.Android.Fabric.setFabric(Fabric.Java:342)
at io.fabric.sdk.Android.Fabric.with(Fabric.Java:313)
at com.mobile.myapp.UI.base.BaseApplication.setupExceptionHandling(BaseApplication.Java:51)
at com.mobile.myapp.UI.myappApplication.onCreate(myappApplication.Java:45)
at Android.app.Instrumentation.callApplicationOnCreate(Instrumentation.Java:1013)
at Android.app.ActivityThread.handleBindApplication(ActivityThread.Java:4707)

Et voici comment j'initialise crashlytics dans ma sous-classe Application:

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

ce que j'essaie de faire, c'est de contrôler si un crashlytics peut fonctionner ou non, par type de produit. Disons que je veux que saveur1 ne fonctionne pas avec crashlytics, je pensais que je pouvais utiliser ce drapeau gradle et le définir sur false. est-ce que je manque quelque chose?

26
j2emanue

Ajout à la réponse de Todd Burner

Attention avec BuildConfig.DEBUG. IDE peut l'importer automatiquement

com.crashlytics.Android.BuildConfig (= false)

au lieu de votre configuration d'application

${app_package}.BuildConfig

METTRE À JOUR 

Fournir un exemple à la demande de j2emanue 

    ...
    import com.fiot.ot.BuildConfig             <- should be
    import com.crashlytics.Android.BuildConfig <- my IDE automatically imported 

    fun initFabric(context: Context) {
        val core = CrashlyticsCore.Builder().disabled(BuildConfig.DEBUG).build()
        val kit = Crashlytics.Builder().core(core).build()
        Fabric.with(context, kit)
    }

com.fiot.ot nom du paquet de mon application

27
aruy

Peut-être manquant appliquer le tissu plugin

J'ai ajouté cette ligne en haut du fichier app/build.gradle qui a résolu mes problèmes!

appliquer le plugin: 'io.fabric'

66
DaoLQ

Chaque fois que je mets

ext.enableCrashlytics = false

mon application plante avec

io.fabric.sdk.Android.services.concurrency.UnmetDependencyException

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.

Ce qui semble fonctionner pour moi, c'est que je dois désactiver l'initialisation automatique de Crashlytics en ajoutant cette ligne à AndroidManifest.xml.

<meta-data Android:name="firebase_crashlytics_collection_enabled" Android:value="false" />

Ensuite, j'initialise manuellement Crashlytics dans la méthode onCreate () de ma sous-classe Application, utilise BuildConfig.DEBUG pour décider de désactiver CrashlyticsCore et appelle Fabric.with (). En fait, je ne mets plus

ext.enableCrashlytics = false

du tout. Tout semble fonctionner pour moi.

33
KGBird

Todd de Fabric. Vous obtiendrez cette erreur, sauf si vous désactivez également Fabric au moment de l'exécution.

    // Set up Crashlytics, disabled for debug builds
Crashlytics crashlyticsKit = new Crashlytics.Builder()
    .core(new CrashlyticsCore.Builder().disabled(BuildConfig.DEBUG).build())
    .build();

// Initialize Fabric with the debug-disabled crashlytics.
Fabric.with(this, crashlyticsKit);

Consultez ce lien pour plus de détails: https://docs.fabric.io/Android/crashlytics/build-tools.html#disable-crashlytics-for-debug-builds

10
Todd Burner

Assurez-vous d'ajouter

app.gradle

apply plugin: 'io.fabric'

J'ai aussi 

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

dans le 

dépendances de niveau de projet

et ajoutez l’API Crashlytics aux chaînes, inscrivez-vous dans le Site Crashlytics

8
Githithu Wambura

Dans mon cas, cela a fonctionné.

oui, c’est le projet de niveau supérieur build.gradle

buildscript {
    repositories {
        jcenter()
        maven { url 'https://maven.fabric.io/public' }
    }
    dependencies {
        classpath 'com.Android.tools.build:gradle:1.2.3'
        classpath 'io.fabric.tools:gradle:1.+'
    }
}
apply plugin: 'Java'
allprojects {
    repositories {
        jcenter()
        maven { url 'https://maven.fabric.io/public' }
    }
}

et c'est le build.gradle pour le module d'application

apply plugin: 'com.Android.application'
apply plugin: 'io.fabric'

Android {
compileSdkVersion 22
buildToolsVersion "22.0.1"

defaultConfig {
    applicationId "your application package name"
    minSdkVersion 10
    targetSdkVersion 22
}

buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.txt'
    }
}
}

dependencies {
compile 'com.google.code.gson:gson:2.3'
compile 'com.Android.support:support-v4:22.0.0'
testCompile 'junit:junit:4.12'
testCompile "org.mockito:mockito-core:1.9.5"
compile('com.crashlytics.sdk.Android:crashlytics:2.5.2@aar') {
    transitive = true;
}
}

et enfin "construction nette" et tout était réglé pour moi.

0
user3509903