web-dev-qa-db-ja.com

Android Databinding:パッケージが存在しません

Androidでデータバインディングを使用しようとしています。

もうプロジェクトをビルドできません。私はこのエラーを受け取りました:

「エラー:(13、46)エラー:パッケージch.company.project.databindingが存在しません」

ここに私のgradle

http://Pastebin.com/dkXd1Mxr

そして

http://Pastebin.com/n9hkFWGQ

そして、ここにgradleの出力:

https://Pastebin.com/w93Rausg

22
Xero

Yigitに感謝します!

問題なかった Android Databinding。プロジェクトにバグがありました(一部の変数が正しく設定されていません))

"-debug and --stacktrace"でgradleを使用することをお勧めします。詳細については、多くの助けになります。

35
Xero

バグはDataBinding Packageではなく、構文エラーまたは論理エラーです。たとえば、POJOに「lastName」属性がありますが、レイアウトではAndroid:text="@{user.lastname}"

「レイアウト」を確認して、プロジェクトを再構築します。

12
Edhy

ヒントなしでトレースをスタックするように指示する受け入れられた答えには満足していません。

この問題につながる可能性のある原因をいくつか示します。次のいずれも実行していないかどうかを確認します。

基本的には Android DataBinding not その mature はまだです。 は適切なエラーなしで何度も失敗します。

したがって、package ch.company.project.databinding does not exist"のような問題がある場合。

失敗の考えられる原因:

  • まず、 check 最近編集されたレイアウト xmlを1つずつ for errors (for wrong importsvariables)。この場合、通常は適切なエラーは発生しません。
  • Check データバインディング syntax in layout のバインディングブロック({...})エラーの要素。 常にリビルド(ビルドではなく)1つのレイアウトで作業した後のプロジェクト。
  • 正しいパラメーターを持つ@BindingAdapterメソッドを確認してください。たとえば、imageUrlバインディングアダプターは、最初のパラメーターとしてImageViewまたはViewを受け入れます。
  • 常に Rebuild プロジェクト作業を行った後を1つの layout で行う必要があります。

  • 上記の手順でエラーを検出できない場合は、次のコンパイルオプションで--debug and --stacktraceを試してください。

    File> Settings> Build, Execution, Deployment> Compiler> Command-line Options

3
Khemraj

私の特定のケースでは、Dagger 2を使用していました。このパッケージエラーは、元のエラーとは関係なく、多くのクラスで表示されます。依存性注入エラーです。

嬉しいお知らせ:スタックトレースをさらにスクロールして、実際の問題を確認してください。

2

何時間も同じエラーが発生しました。 stackoverflowからいくつかのソリューションを試した後、安定したgradle依存関係でプロジェクトを更新しました。

それでも解決しませんでしたが、同じgradle依存関係でDataBindingは私の別のプロジェクトでうまく機能していました。

そこで、エクスプローラーを使用してプロジェクトフォルダーに移動し、削除済み 2つのことを行いました。

  1. ビルドフォルダー
  2. .idea/librariesのすべてのファイル

その後、プロジェクトを同期しましたが、引き続き問題なく動作しました。

2
Ifta

以前のパッケージ名は「com.xyz.abc.Models」で、パッケージ名をすべての小文字「Models」->「models」に変更しました

問題を解決しました。

2
Kamlesh Sahu

私のプロジェクトで同様の問題がありました

あなたが試すことができます:

  • ビルド失敗の原因となるエラーについてxmlファイルを確認します
  • クリーンプロジェクト
  • ファイル-キャッシュの無効化/再起動
2
Liviu

レイアウトで参照するモデルのフィールドにpublicアクセス修飾子があることを確認してください

1
YTerle

エラーが発生しました:

エラー:(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()}"/>
1
vishal gupta

パッケージ名が小文字で始まっていることを確認してください。私の場合、2時間の闘争で問題が解決しました

1

このエラーを取り除くには、完全なレイアウト設計をactivity_main.xmlファイル。

解決策を見つけるのに多くの時間を無駄にした後、これは私のために働いた。試してみる。

0