J'essaie de reconstruire mon projet Android Studio Gradle (contenant principalement du code Kotlin), mais il a commencé à lancer une UnableToDeleteFileException
pendant le processus de nettoyage/reconstruction:
Execution failed for task ':app:clean'.
> Unable to delete file: C:\Users\User\KotlinGameEngine\app\build\intermediates\exploded-aar\com.Android.support\appcompat-v7\23.0.1\jars\classes.jar
Cela a commencé après que j'ai essayé de changer la structure de paquet de mon projet. Malheureusement, je l'ai fait en renommant et en déplaçant les dossiers source plutôt qu'en le refacturant via Android Studio, ce qui était une mauvaise idée.
J'ai cherché une solution à ce problème toute la journée et voici ce que j'ai essayé de faire en vain:
gradle
et .gradle
dans le répertoire du projet;.gradle
dans mon répertoire utilisateur;gradlew clean
à partir du terminal AS;Les choses que j'ai essayées avec un peu de succès, mais ne me permettent que d'en effectuer une nouvelle et de la reconstruire avant que l'erreur ne se reproduise:
Java.exe
pendant qu'AS est en cours d'exécution (techniquement, cela peut être fait à chaque fois, mais c'est fastidieux et ralentit le processus de construction)Il semble donc que la compilation du processus Java puisse verrouiller les fichiers de construction pour une raison quelconque, mais cela pourrait aussi concerner Kotlin. J'ai un projet Java Android (plus mature) sur lequel je travaille, bien que je ne puisse pas reproduire cette erreur lors du nettoyage. Cela ne semble arriver qu'à mon projet Kotlin.
Des idées?
Merci d'avance.
J'ai constaté que le problème était causé par le plugin Kotlin Android. Le problème disparaît lorsque je supprime apply plugin: 'kotlin-Android'
du fichier build.gradle
du module et revient lorsque je le réinsère. N'hésitez pas à offrir un aperçu de cela.
La dernière mise à jour n'est pas la cause. J'ai constaté que si un projet contient un fichier Kotlin, la reconstruction et le nettoyage échouent. Il continue à échouer, même si tous les fichiers Kotlin sont supprimés, jusqu'à ce que le processus Java en arrière-plan soit tué, ce qui signifie qu'il dispose d'un verrou pour les fichiers de construction. J'ai soumis un bogue ici avec plus de détails et d'étapes pour reproduire le bogue: KT-9440
Après avoir posté un rapport de bogue sur le traqueur de bogues Kotlin, j'ai été informé de Issue 61300 sur le traqueur AOSP. Cela semble être la cause. Étant donné que je ne peux rien faire pour le moment, je marquerai cette question comme ayant reçu une réponse et la mettrai à jour si le bogue est corrigé.
En attendant, si vous utilisez Windows, je pense avoir trouvé une solution de contournement. Vous devrez télécharger LockHunter (à vos risques et périls bien sûr), puis ajouter ce qui suit dans le fichier gradle.build
de votre module, en remplaçant la variable lockhunter
par votre chemin d'accès à LockHunter.exe:
task clean(type: Exec) {
ext.lockhunter = '\"C:\\LockHunter.exe\"'
def buildDir = file(new File("build"))
commandLine 'cmd', "$lockhunter", '/delete', '/silent', buildDir
}
Cela force LockHunter à déverrouiller et à supprimer de manière forcée et silencieuse les fichiers de construction lors de l'exécution de la tâche app: clean.
Si vous utilisez la version bêta d'Android Studio 2.0, ce problème peut apparaître (plus probablement si vous travaillez sur un système de fichiers NTFS) et il semble que "l'exécution instantanée" en soit la cause. Recherchez "Instant Run" dans les paramètres et décochez la case.
J'ai déposé un problème sur le gestionnaire de bogues.
J'ai tué tous les processus Java TM dans le gestionnaire de tâches et cela m'a permis de reconstruire
Essayez Fichier -> Invalider les caches et redémarrer
Cela a fonctionné pour moi
La suppression du répertoire intermediates
est une solution rapide au problème.
Le répertoire sera reconstruit lors de la reconstruction du projet.
J'étais confronté au même problème sur l'aperçu 1 d'Android Studio 2.2. La solution de @AndresSuarez était correcte, mais pour certaines raisons, je n'ai pas trouvé de processus Java TM dans mon gestionnaire de tâches. J'ai donc essayé la solution suivante et cela a fonctionné -
Ouvrez invite de commande et tapez TASKKILL /F /IM Java.exe
. Cela supprimera automatiquement tous les processus Java TM. Maintenant, recompilez l'application à nouveau, cela fonctionnera.
De plus, vous pouvez créer un fichier .bat , y ajouter le code ci-dessus et l'exécuter à chaque fois que vous rencontrez le problème.
Pour moi, cela est dû à un processus de débogage actif . Donc, avant de nettoyer ou de reconstruire, assurez-vous de tuer tous les processus actifs. Pour réussir, exécutez Invalidate Cashes/Restart .
Parfois, les intermédiaires créent un problème alors supprimez-le et reconstruisez le projet
OR
il suffit d’exécuter la commande cmd -> gradlew clean
dans votre dossier de projet dans l'espace de travail (son travail pour moi)
Trouvez les programmes qui ont utilisé app/build/output/apk dossier, puis supprimez simplement le dossier
Je pense que Android Studio doit supprimer l’ancien dossier apk avant de reconstruire.
Pour moi, cela aide lorsque je Exit Android Studio
, de cliquer une fois de plus sur Clean Project
(la même erreur apparaît), puis de cliquer sur Make Project
- après le bouton bien sûr Run 'app'
dans Android Studio.
J'ai eu ce problème dans Android Studio 2.3.
J'ai simplement redémarré Android Studio et après cela, j'ai pu nettoyer sans réclamations.
J'ai résolu celui-ci dans mon Ubuntu comme ça.
Recherchez les processus en cours d'exécution sur votre système (Ubuntu), comme dans le gestionnaire de tâches de Windows.
Commande de terminal Ubuntu pour répertorier tous les processus en cours d'exécution ----> "gnome-system-monitor"
Terminez ou terminez les processus Java et Android de la liste.
Cela fonctionne pour moi sans aucun problème. J'espère que cela t'aides...
Je pensais que c'était le problème avec le processus qui est déjà créé et dupliqué.
La solution est assez simple.
C'est l'une des solutions qui a fonctionné pour moi.
Il se peut que votre app/build/sorties/apk .__ de votre projet. dossier est ouvert.
alors fermez ce dossier et reconstruisez votre projet. et ce sera résolu.
J'ai eu le même problème et cela a fonctionné pour moi:
Comme suggéré dans le rapport de bug , décommenter la ligne
idea.jars.nocopy=false
dans le fichier idea.properties
a résolu le problème pour moi.
Notez que cela doit être fait à chaque fois que Android Studio est mis à jour.
J'ai eu la même erreur, essayé de plusieurs façons mais la solution a fonctionné pour moi était de supprimer les dossiers de construction des répertoires/Android et/Android/app.
exécuter react-native run-Android
a fonctionné pour moi.
Pour moi, le coupable est adb qui conserve le fichier apk puisque je l’utilise pour installer et lancer l’application sur mon périphérique physique en ligne de commande.
Alors tout simplement:
Gestionnaire des tâches> Fin du processus adb.exe
Et puis le fichier est libre d’être supprimé et le projet peut être nettoyé
J'ai résolu avec la commande:
taskkill /F /IM Java.exe
et alors:
gradle assembleDebug
Je viens de résoudre ce problème exact pour moi-même.
Le problème était que quelqu'un d'autre avait créé le fichier. Même si j'avais des droits d'administrateur sur l'ordinateur, je ne pouvais pas modifier le fichier ou les fichiers. Vous devez aller dans les propriétés du fichier ou du dossier et changer la propriété ou en ajouter. Cette page Web explique bien étape par étape ce que vous devez faire.
Une fois que j'ai fait ce qui précède, j'ai trouvé le fichier dans l'explorateur de fichiers et l'ai extrait manuellement. Je ne pense pas que cela soit nécessaire dans le projet de studio Android s'il essayait malgré tout de le supprimer.
Si vous testez avec un serveur local (servlet Java sur un moteur d'application Google local), le processus en cours d'exécution bloque certains fichiers. Donc, vous n'êtes pas capable de vivre déployer. Donc, dans ce cas, vous pouvez résoudre ce problème en arrêtant le backend local avant de lancer clean ou build. Vous trouvez l'option sous "Exécuter -> Arrêter le backend".
Nettoyer le projet dans Android studio et le relancer a corrigé le problème. Peut-être faire "Make Project" aussi.
solution simple:
dans Android ou tout produit Jetbrains lorsque vous cliquez dessus, vous trouverez le message 'invalider le cache et redémarrer', et tous les problèmes seront résolus
J'ai eu le même problème et je l'ai résolu en déplaçant le dossier du projet dans la partition ext4
J'ai eu le même problème après avoir déplacé mon projet de D: à G: lecteur Mais la vérification du disque a résolu mon problème
J'ai utilisé chkdsk/f/r/x G: ** Ici, certains commutateurs de ligne de commande ont été utilisés: **
/ F Corrige les erreurs sur le disque
/ R Localise les secteurs défectueux et récupère les informations lisibles (implique/F)
/ X Force le volume à descendre en premier si nécessaire (implique/F) (important)
Remarque:/X est important car il démontera le lecteur et vous pourrez supprimer manuellement le répertoire build de votre projet.
maintenant reconstruire le projet
Dans mon cas, node.js
utilisait des ressources dans le dossier de construction (mon application dans reactnative
). Alors j'ai tué node.js
et ça a résolu.
Je l'ai résolu en recherchant globalement le répertoire manquant dans le projet. puis supprimez tous les fichiers contenant ce mot clé. il peut nettoyer avec succès après avoir supprimé tous les répertoires build
et .externalNativeBuild
manuellement.
J'utilise Android Studio 3.0 Bêta 7. Nettoyer le projet, Invalider les caches, redémarrer le studio ne fonctionnait pas, mais le fait de mettre à jour la version de Kotlin vers la version 1.1.51 et de redémarrer le studio a résolu ce problème.
si vous rencontrez toujours des problèmes, mettez-vous à jour avec la dernière version d'Android Studio (sa version 2.1 dès maintenant). Il pourrait s'agir d'un bogue avec l'ancienne version d'Android Studio. C'est résolu pour moi maintenant.
Dans Android Studio 3.0, j'ai eu le même problème. Cela a résolu le problème:
Ma solution pour cela était très simple (si vous utilisez Windows) 1- Fermez Android Studio
la chose qui a fonctionné pour moi a été de fermer le code de Visual Studio et de l'ouvrir à nouveau ... Je suppose que le dossier apk était ouvert quelque part dans le code .... donc essayez-le également.
Ce problème m'est apparu sur le canal stable d'Android studio 2.0 et la solution était due à un problème survenu lors de la mise à jour de mon studio Android. J'ai résolu ce problème en installant un nouveau studio Android. après avoir supprimé tous les anciens fichiers de l'ancienne installation. et pour garder la très belle fonctionnalité de Instant Run