Je suis confronté à un problème avec Android Studio 3, le plugin Android 3 avec la cible de construction 27 et le support lib 27.0.0
Error:Execution failed for task ':module:mockableAndroidJar'.
> Output file [[...]/build/generated/mockable-Android-27.v3.jar] already exists.
Je dois nettoyer ou supprimer manuellement tous les bocaux mockable-Android du dossier généré de temps en temps. Cela signifie donc que, au lieu d'obtenir de meilleurs temps de construction, je dois nettoyer le projet la plupart du temps.
Nettoyez simplement le fichier jar existant avant d'exécuter à nouveau la tâche. Courir clean
ne fonctionne pas, mais à mon avis c'est un peu intense Faites plutôt que la tâche générée par Android dépende d'une tâche de nettoyage très spécifique:
task cleanAndroidMock(type: Delete) {
description = 'Deletes the mockable Android jar'
delete fileTree("${project.buildDir}/generated") {
include 'mockable-Android*.jar'
}
}
project.afterEvaluate {
tasks['mockableAndroidJar'].dependsOn cleanAndroidMock
}
J'ai ce problème aussi bien que j'utilise un Android.jar modifié (qui a toutes les API cachées révélées)… .. Je n'utilise pas les tests unitaires et il n'y a aucun moyen apparent de le désactiver dans Android Studio 2.2. 2, alors j'ai trouvé une solution de contournement pour ce problème:
Allez dans Fichier -> Paramètres -> Construire, Exécution, Déploiement -> Compilateur Ajouter à "Options de ligne de commande": - x: app: prepareReleaseUnitTepDependencies -x: app: mockableAndroidJar - x: app: compileReleaseUnitTestSources Appuyez sur "OK" et essayez à nouveau de reconstruire le projet ..___. Maintenant, les tâches de compilation de test des unités seront toujours ignorées et aucune erreur ne sera renvoyée.
La solution la plus simple consiste à naviguer vers le chemin donné [[...]/build/generated/mockable-Android-27.v3.jar]
et à simplement supprimer le fichier mockable-Android-27.v3.jar
. Retournez dans Android studio et générez à nouveau.
Essayez d'aller au menu: Construire -> Nettoyer le projet.
Ou vous pouvez essayer le menu: Fichiers -> Caches non valides/Redémarrer
Les deux ont fonctionné pour moi!