web-dev-qa-db-ja.com

データバインディングでプロジェクトエラーを消去:ファイルandroidx.databinding.library.baseAdapters--setter_store.jsonを削除できません

私はデータバインディングを使用しています。変更を加えている間、プロジェクトが壊れることがあります。次に、Build-> Clean project&Re-Build projectに移動します。そして、私は奇妙なエラーを受け取ります:

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

クリーンまたはリビルドでこのエラーが発生するため、修正方法がわかりません。 キャッシュを無効にする/再起動しても、問題は解決していません。

このファイルを手動で削除しようとすると、そのファイルが別のプロセスで使用されているというエラーが発生します。次に、プロジェクトを閉じ、このファイルを正常に削除します。しかし、プロジェクトを開いてビルドすると、上記と同じエラーが発生します。

問題はデータバインディングに関するものであることがわかりますが、StackOverflowの他のユーザーからの他のファイルでも同じ問題が発生したため、わかりません。時々問題はそれ自体でなくなっていますが、通常はありません。レイアウトファイルのエラーが原因で問題が発生した可能性がありますが、ビルドログにエラーがないかどうかを確認する方法。

誰かがそのエラーに遭遇しましたか?未定義の時間範囲でプロジェクト全体を壊すことなくその状況を修正する方法はありますか?

10
LIFED

だから、問題はまだここにありますが、すべての答えはそれを解決しません。プロジェクトは何らかの理由でコンパイルできません。通常、これはある種の間違いであり、ビルドファイルを削除する場合はビルドフォルダーを削除した場合(ファイルが含まれているAndroid Studioは削除できません) 問題は解決しません

プロジェクトをコンパイルしようとすると、生成されたファイル(データバインディング、ルームなど)で数十のエラーが発生する場合があります。残念ながら、通常のウィンドウにはエラーが表示されませんが、この生成されたファイルをエラーで展開すると、おそらく実際の問題が表示されます修正しなかった間違いに関連するクラスを変更したとき生成されたファイル。 これらの間違いを修正してプロジェクトを再度コンパイルしてください。注:警告も確認する必要があります。

ただし、すでにエラーが発生した場合はUnable to delete file生成されたファイルにエラーは表示されません。 Android studio(それが役に立たない場合は、app\buildを削除する必要があります)を再起動してプロジェクトをコンパイルする必要があります。その後、ビルドタブにエラーのある生成ファイルが見つかります。

それが役に立てば幸い!

2
LIFED

Android Studio、app\buildフォルダーを削除してから再度開くAndroidStudio。WindowsでASのすべてのインスタンスを閉じるには、ビルドフォルダ。

4
Daniel Wilson

Android Studioターミナルに以下のコマンドを入力します。

gradlew --stop

1
Rohan Lodhi

データバインディングキャッシュの問題が原因です。最初にキャッシュを無効にして削除する必要があります。 gradle.propertiesファイルのプロパティを変更した後、問題を解決しました:

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

そして

dataBinding {
        enabled = false
    }

プロジェクトをクリーンアップして再ビルドします。再構築後、エラーが表示されます。次に、すべての構成を変更し(すべてのプロパティをtrueにして)、クリーンで再構築します。まったく問題なく動作します。

0
Raghav Sharma

gradle.propertiesでデーモンと並列ビルドを無効にしてみてください

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

最初にこの4つのステップに従ってください

  • 生成されたファイルを削除します(ビルドフォルダー)
  • プロジェクトをクリーンアップします(単にcmdコマンドを実行します-> gradlew clean
  • キャッシュを無効にして再起動するAndroid Studio
  • コンピューターを再起動

役に立たない場合は、次の手順を試してください

  • Gradle同期;
  • 再インストールJava JRE&Java SDK;
  • Android Studioの最新バージョンを再インストールします
  • 以前のASバージョンへのロールバック
  • キャッシュを無効にして再起動するAndroid Studio
  • プロジェクトディレクトリのgradleおよび.gradleディレクトリを削除します。
  • ディレクトリ内の.gradleディレクトリを削除します。
  • Gradlew cleanを実行します(cmdコマンドを実行するだけです-> gradlew clean
0
Farid Haq

上記の解決策のほとんどを試しましたが、それらが機能していないようです。しかし、これが私のプロジェクトを再開するために私がしたことです。

DataBindingを使用しているため、これが起こっていると思います。アプリのgradleファイルのdataBindingセクションに移動します

falseに設定してdataBindingを無効にします。次に、プロジェクトを再ビルドすると、xmlファイルでdataBindingが欠落していることに対処するためのエラーが発生します。

今回はtrueに設定することで、次のenalble dataBinding。次に、プロジェクトを再構築します。

その奇妙なエラーは解消されているはずです。

奇妙な説明を許してくれますが、stackoverflowに貢献するのは初めてです。

0
Baka