2016-05-09 18 views
8

を取得する方法を、XMLのミスからコンパイル時のエラー・メッセージが完全に非役立ちます。アンドロイドデータバインディング:便利なエラーメッセージアンドロイドスタジオ2.1で

Error:(11, 41) error: package mypackage.databinding does not exist 
Error:(15, 13) error: cannot find symbol class MyActivityBinding 

本当のエラーは通常、次のようなものになるだろう「がありますなしそのような属性android:adapter "、または"変数fooにはプロパティバーがありません "というようなものです。実際にこのようなエラーを表示するのではなく、上記の役に立たないエラーが表示されます。これは、不明なエラーが原因でバインディングが生成されなかったということだけを示しています。

答えて

0

適切なエラーを取得する1つの方法は、同様に、「--info」を持つ端末でのGradleを実行することです。まさにASに統合されていないので、私は本当にその答えを受け入れることができないことを

gradle :app:build --info 

3

今のところ簡単な方法はありません。一般に、このようなコンパイルエラーが発生し、エラーメッセージがデータバインディングクラスが見つからない場合は、レイアウトからの悪い参照です(つまり、割り当てられたメンバークラスにアクセスしようとします - 通常は&pレイアウトのときに発生します)。

さらに悪いことに、他のコード生成ライブラリ(Icepick、Butterknifeなど)を使用すると、真の犯人はしばしばバインディングとは完全に無関係なコードになります。だから、このようなことが私のコードで発生した場合、私は通常、Gradle Consoleのビューをチェックし、最後からそれを読んで、「欠けているクラス」または「パッケージが存在しません」などのデータバインディングに関連するすべてのエラーメッセージを無視します。

関連する問題