17

Gradle を使用して Android プロジェクトを作成しました。Dagger ライブラリを追加しました。

dependencies {
    compile 'com.squareup.dagger:dagger-compiler:1.2.1'
    compile 'com.squareup.dagger:dagger:1.2.1'
}

プロジェクトをコンパイルしようとすると、lint 例外が原因でビルドが失敗します。

InvalidPackage: Package not included in Android

../../../../../../.gradle/caches/modules-2/files-2.1/com.squareup.dagger/dagger-compiler/1.2.1/c8bf6c2fda9b27f4d44a2aa4280df525a1408771/dagger-compiler -1.2.1.jar: ライブラリ内のパッケージ参照が無効です。Android には含まれていません: javax.annotation.processing. dagger.internal.codegen.GraphAnalysisErrorHandler から参照されます。

../../../../../../.gradle/caches/modules-2/files-2.1/com.squareup.dagger/dagger-compiler/1.2.1/c8bf6c2fda9b27f4d44a2aa4280df525a1408771/dagger-compiler -1.2.1.jar: ライブラリ内のパッケージ参照が無効です。Android には含まれていません: javax.lang.model.type. dagger.internal.codegen.GeneratorKeys から参照されます。

../../../../../../.gradle/caches/modules-2/files-2.1/com.squareup.dagger/dagger-compiler/1.2.1/c8bf6c2fda9b27f4d44a2aa4280df525a1408771/dagger-compiler -1.2.1.jar: ライブラリ内のパッケージ参照が無効です。Android には含まれていません: javax.lang.model.util. dagger.internal.codegen.GraphAnalysisErrorHandler から参照されます。

../../../../../../.gradle/caches/modules-2/files-2.1/com.squareup/javawriter/2.3.0/4b290e394ea3109be5c0b7f08ff75de089125122/javawriter-2.3.0.jar : ライブラリ内のパッケージ参照が無効です。Android には含まれていません: javax.lang.model.element. com.squareup.javawriter.JavaWriter から参照されます。

したがって、Dagger パッケージを修正するか、lint が無視するようにする必要があります。セットアップしましlint.xmlたが、無視する方法がわかりません:

 <issue id="InvalidPackage">
  <ignore ...INSERT DECLARATION TO IGNORE DAGGER PACKAGE... />
 </issue>

ありがとう。

4

3 に答える 3

5

参考までに、Android Gradle プラグインのバージョン 0.10.1 以降、これは不要になります。lint は、Dagger 内で見つかったこれらの問題を自動的に無視します: https://android-review.googlesource.com/#/c/93140/

于 2014-05-01T23:35:46.927 に答える