web-dev-qa-db-fra.com

L'exécution a échoué pour la tâche mockableAndroidJar, mockable-Android-. pot existe déjà

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. 

7
Gaurav Vashisth

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
}
3
johnmartel

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.

0
Nawrez

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.

0
Saurabh Padwekar

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!

0
João Vitor