web-dev-qa-db-fra.com

Erreur de projet propre avec liaison de données: impossible de supprimer le fichier androidx.databinding.library.baseAdapters - setter_store.json

J'utilise la liaison de données. Parfois, pendant que je fais des modifications, le projet peut être interrompu. Ensuite, je vais à Build -> Clean project & Re-Build project. Et je reçois une étrange erreur:

Unable to delete file: {path_to_project}\app\build\intermediates\data_binding_dependency_artifacts\debug\dataBindingMergeDependencyArtifactsDebug\out\androidx.databinding.library.baseAdapters--setter_store.json

Chaque fois que je ne sais pas comment le réparer, car je reçois cette erreur lors du nettoyage ou de la reconstruction. Même si je crée Invalidate caches/Restart le problème n'est pas résolu.

Si j'essaie de supprimer ce fichier manuellement, j'obtiens une erreur que le fichier utilise par un autre processus. Ensuite, je ferme le projet et supprime ce fichier avec succès. Mais lorsque j'ouvre le projet et le crée, j'obtiens la même erreur que celle décrite ci-dessus.

Comme je peux le voir, le problème concerne la liaison de données, mais je ne suis pas sûr car j'ai vu le même problème avec d'autres fichiers d'autres utilisateurs sur StackOverflow. Parfois, le problème a disparu de lui-même, mais ce n'est généralement pas le cas. Peut-être que le problème se produit en raison d'erreurs dans les fichiers de disposition, mais comment savoir s'il n'y a pas d'erreurs dans le journal de génération.

Quelqu'un a-t-il rencontré cette erreur? Des idées sur la façon de résoudre cette situation sans écraser l'ensemble du projet dans une plage de temps indéfinie?

10
LIFED

Donc, le problème est toujours là mais toutes les réponses ne le résolvent pas. Le projet ne se compile pas pour une raison, généralement c'est une sorte d'erreur, et si vous supprimez simplement le dossier de construction (qui contient le fichier Android Studio ne peut pas supprimer) cela ne résoudra pas le problème.

Lorsque vous essayez de compiler un projet, vous pouvez obtenir des dizaines d'erreurs dans les fichiers générés (liaison de données, salle, etc.). Malheureusement, les erreurs ne s'affichent pas dans la fenêtre habituelle, mais si vous développez ces fichiers générés avec des erreurs, vous verrez probablement le vrai problème, vos erreurs que vous n'avez pas corrigées quand changeait vos classes liées à fichiers générés. Il suffit de corriger ces erreurs et de recompiler le projet. Remarque: , vous devriez probablement également consulter les avertissements.

Mais si vous avez déjà une erreur Unable to delete file vous ne verrez pas d'erreurs dans les fichiers générés. Vous devez redémarrer Android studio (si cela ne vous aide pas, vous devez supprimer app\build) et essayer de compiler votre projet. Après cela, vous trouverez les fichiers générés avec des erreurs dans l'onglet de construction .

J'espère que ça aide!

2
LIFED

Je ferme Android Studio, supprime le dossier app\build puis rouvre Android Studio. Notez que toutes les instances d'AS doivent être fermées pour Windows pour vous permettre de supprimer le dossier de construction.

4
Daniel Wilson

Mettre la commande ci-dessous dans Android Terminal Studio.

gradlew --stop

1
Rohan Lodhi

C'est à cause d'un problème de cache de liaison de données. Nous devons supprimer ce cache en le désactivant d'abord. J'ai résolu le problème après avoir modifié les propriétés du fichier gradle.properties:

org.gradle.daemon=false
org.gradle.parallel=false
Android.enableBuildCache=false
org.gradle.caching= false
Android.databinding.enableV2=false

et

dataBinding {
        enabled = false
    }

Nettoyez et reconstruisez le projet. Après la reconstruction, il affichera des erreurs. Ensuite, changez toute la configuration (rendez toutes les propriétés vraies) et nettoyez, reconstruisez. Cela fonctionnera parfaitement.

0
Raghav Sharma

Essayez de désactiver le démon et la génération parallèle dans gradle.properties

org.gradle.daemon=false
org.gradle.parallel=false
0
shizhen

Suivez d'abord ces 4 étapes

  • Supprimez votre fichier généré (dossier de build)
  • Nettoyez votre projet (exécutez simplement la commande cmd -> gradlew clean)
  • Invalider le cache et redémarrer Android Studio
  • Redémarrer l'ordinateur

Si ce n'est pas utile, essayez les étapes suivantes

  • Synchronisation Gradle;
  • Réinstallez Java JRE & Java SDK;
  • Réinstallez la dernière version de Android Studio
  • Revenir à la version AS précédente
  • Invalider le cache et redémarrer Android Studio
  • Supprimez les répertoires gradle et .gradle dans le répertoire du projet;
  • Supprimez le répertoire .gradle dans votre répertoire;
  • Exécutez gradlew clean (exécutez simplement la commande cmd -> gradlew clean)
0
Farid Haq

J'ai essayé la plupart des solutions ci-dessus mais je ne les ai pas trouvées fonctionnelles. Mais voici ce que j'ai fait pour relancer mon projet.

Je suppose que cela se produit car vous utilisez dataBinding. accédez à la section dataBinding dans votre fichier de notes d'application

désactivez maintenant dataBinding en définissant sur false. Ensuite, reconstruisez votre projet et vous remarquerez une erreur à propos de quelque chose à faire pour manquer un dataBinding dans un fichier xml.

Ensuite, activez dataBinding en définissant cette fois sur true. reconstruisez ensuite votre projet.

Cela aurait dû effacer cette étrange erreur.

Pardonnez-moi pour l'étrange explication, mais je suis nouveau dans la contribution au stackoverflow.

0
Baka