我使用 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。
因此,我必须修复或让 lint 忽略 Dagger 包。我已经设置了lint.xml
但我想不出一种方法来忽略:
<issue id="InvalidPackage">
<ignore ...INSERT DECLARATION TO IGNORE DAGGER PACKAGE... />
</issue>
Thanks.
在这里找到了答案:https://android.googlesource.com/platform/tools/base/+/e6a5b9c7c1bca4da402de442315b5ff1ada819c7 https://android.googlesource.com/platform/tools/base/+/e6a5b9c7c1bca4da402de442315b5ff1ada819c7
在 android 部分添加 build.gradle ,lintOptions 为我解决了这个问题:
android {
...
lintOptions {
disable 'InvalidPackage'
}
}
在 lint.xml 中添加相同的忽略语句对我来说不起作用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)