Androidでデータバインディングを使用しようとしています。
もうプロジェクトをビルドできません。私はこのエラーを受け取りました:
「エラー:(13、46)エラー:パッケージch.company.project.databindingが存在しません」
ここに私のgradle
:
そして
そして、ここにgradleの出力:
Yigitに感謝します!
問題なかった Android Databinding。プロジェクトにバグがありました(一部の変数が正しく設定されていません))
"-debug and --stacktrace"でgradleを使用することをお勧めします。詳細については、多くの助けになります。
バグはDataBinding Packageではなく、構文エラーまたは論理エラーです。たとえば、POJOに「lastName」属性がありますが、レイアウトではAndroid:text="@{user.lastname}"
。
「レイアウト」を確認して、プロジェクトを再構築します。
ヒントなしでトレースをスタックするように指示する受け入れられた答えには満足していません。
この問題につながる可能性のある原因をいくつか示します。次のいずれも実行していないかどうかを確認します。
基本的には Android DataBinding は not その mature はまだです。 は適切なエラーなしで何度も失敗します。
したがって、package ch.company.project.databinding does not exist"
のような問題がある場合。
imports
&variables
)。この場合、通常は適切なエラーは発生しません。@BindingAdapter
メソッドを確認してください。たとえば、imageUrl
バインディングアダプターは、最初のパラメーターとしてImageView
またはView
を受け入れます。常に Rebuild プロジェクト作業を行った後を1つの layout で行う必要があります。
上記の手順でエラーを検出できない場合は、次のコンパイルオプションで--debug and --stacktrace
を試してください。
File> Settings> Build, Execution, Deployment> Compiler> Command-line Options
私の特定のケースでは、Dagger 2を使用していました。このパッケージエラーは、元のエラーとは関係なく、多くのクラスで表示されます。依存性注入エラーです。
嬉しいお知らせ:スタックトレースをさらにスクロールして、実際の問題を確認してください。
何時間も同じエラーが発生しました。 stackoverflowからいくつかのソリューションを試した後、安定したgradle依存関係でプロジェクトを更新しました。
それでも解決しませんでしたが、同じgradle依存関係でDataBinding
は私の別のプロジェクトでうまく機能していました。
そこで、エクスプローラーを使用してプロジェクトフォルダーに移動し、削除済み 2つのことを行いました。
- ビルドフォルダー
- .idea/librariesのすべてのファイル
その後、プロジェクトを同期しましたが、引き続き問題なく動作しました。
以前のパッケージ名は「com.xyz.abc.Models」で、パッケージ名をすべての小文字「Models」->「models」に変更しました
問題を解決しました。
私のプロジェクトで同様の問題がありました
あなたが試すことができます:
レイアウトで参照するモデルのフィールドにpublic
アクセス修飾子があることを確認してください
エラーが発生しました:
エラー:(9、46)エラー:パッケージcom.company.www.bar.databindingは存在しません。
「=」記号を削除するだけです。それは私のために働いた
これから :
<Button
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:onClick="@={()->activity.onButtonClick()}"/>
に:
<Button
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:onClick="@{()->activity.onButtonClick()}"/>
パッケージ名が小文字で始まっていることを確認してください。私の場合、2時間の闘争で問題が解決しました
このエラーを取り除くには、完全なレイアウト設計をactivity_main.xml
ファイル。
解決策を見つけるのに多くの時間を無駄にした後、これは私のために働いた。試してみる。