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.+'
}
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
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.
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
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" />
<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.
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.