web-dev-qa-db-fra.com

erreur des outils de développement crashlytics lors de la construction Android -gradle project

J'essaie de construire un projet de gradle Android en utilisant Eclipse, mais j'obtiens cette erreur lors de la construction du projet en utilisant la ligne de commande:

 FAILURE: Build failed with an exception.

 * What went wrong:
 Execution failed for task ':app:crashlyticsCleanupResourcesRelease'.
 > Crashlytics Developer Tools error.

 * Try:
 Run with --stacktrace option to get the stack trace. Run with --info or --debug
 option to get more log output.

 BUILD FAILED

J'utilise la version 1.10 de Gradle, j'ai également essayé la version 1.12 de Gradle, mais j'obtiens la même erreur

et voici mon fichier build.gradle:

        buildscript {
            repositories {
                mavenCentral()
                maven { url 'http://download.crashlytics.com/maven' }
            }
            dependencies {
                classpath 'com.Android.tools.build:gradle:0.12.+'
                classpath 'com.crashlytics.tools.gradle:crashlytics-gradle:1.+'
                classpath 'com.jakewharton.sdkmanager:gradle-plugin:0.10.+'
            }
        }
        apply plugin: 'Android-sdk-manager'
        apply plugin: 'Android'
        apply plugin: 'crashlytics'

        repositories {
            mavenCentral()
            maven { url 'http://download.crashlytics.com/maven' }
        }

        Android {
            compileSdkVersion 19
            buildToolsVersion "19.1.0"
            lintOptions.checkReleaseBuilds false

            defaultConfig {
                minSdkVersion 7
                targetSdkVersion 19
            }

            signingConfigs {
                release {
                    storeFile file(STORE_FILE)
                    storePassword STORE_PASSWORD
                    keyAlias KEY_ALIAS
                    keyPassword KEY_PASSWORD
                }
            }

            buildTypes {
              debug {

               ext.enableCrashlytics = false
               buildConfigField "boolean", "LOG_CRASHES", "false"
              }

              release {
                 buildConfigField "boolean", "LOG_CRASHES", "true"
                 runProguard true
                 proguardFile 'proguard.cfg'
                 signingConfig signingConfigs.release
              }
            }
        }

        dependencies {
            compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar'
            compile 'com.Android.support:support-v4:19.1.0'
            compile 'com.crashlytics.Android:crashlytics:1.+'
        }
53
user2469133

Une erreur similaire s'est produite lors de l'utilisation du kit Twitter de Fabric

Error:Execution failed for task ':app:fabricCleanupResourcesDevDebug'.
> Crashlytics Developer Tools error.

Erreur détaillée

ERREUR - Erreur Crashlytics Developer Tools. Java.lang.IllegalArgumentException: Crashlytics a trouvé une clé API non valide: XXXXXXXXX. Vérifiez le plugin Crashlytics pour vous assurer que l'application a bien été ajoutée! Contactez [email protected] pour obtenir de l'aide.

Après vous être connecté Fabric , téléchargez le plugin AndroidStudio et laissez-le configurer tout a bien fonctionné.

(Btw, je n'aime vraiment pas ce flux de configuration)

EDIT: Cela peut également être fait sans installer le plugin AndroidStudio. Suivez ces instructions sur le site Fabric https://fabric.io/downloads/gradle

37
Antonio Jose

Ce n'est pas une solution à la question d'origine, mais vous pouvez également rencontrer cette erreur d'une autre manière. Si vous suivez la documentation pour Gradle Advanced Setup vous avez peut-être inclus le code suivant

debug {
    ext.enableCrashlytics = false
}

Maintenant, si vous testez votre application, vous avez peut-être essayé de définir ext.enableCrashlytics = true au lieu. Apparemment, cela entraînera des erreurs pour Crashlytics et ce n'est pas une valeur valide pour cette variable.

Donc, si vous voulez que Crashlytics soit activé pour les versions de débogage, vous devrez commenter cette ligne pendant que vous testez ou supprimez-la complètement.

20

En ajoutant cette ligne à la balise intérieure du manifeste de votre application

<meta-data
        Android:name="io.fabric.ApiKey"
        Android:value="XXXXXXXXXXXXXXX" />

J'ai résolu ce problème

13
Zahid Ali

J'ai résolu ce problème en remplaçant "io.fabric.ApiKey" par "com.crashlytics.ApiKey" dans AndroidManifest.xml (je n'aime pas changer la bibliothèque Crashlytics). Donc, le dernier est:

 <meta-data
     Android:name="com.crashlytics.ApiKey"
     Android:value="xxxxxxxx" />
9
Alan Zhiliang Feng
<meta-data
     Android:name="com.crashlytics.ApiKey"
     Android:value="your key" />

J'ai eu un problème similaire. Ajoutez simplement ces lignes à votre fichier de manifeste Android.

5
prsandroid

J'avais donc ce problème et je l'ai résolu.

Fondamentalement, j'essayais d'utiliser @ string/crashlytics_key_prod, au lieu de mettre la clé réelle.

Le remplacement de "@ string/crashlytics_key_prod" par la clé réelle dans le manifeste a résolu ce problème pour moi.

1
Shubham Gupta