我有一个应用程序模块(这是我的应用程序)和一个Java库项目模块(称为api),我想在api模块中使用dagger 2,但注释处理器无法正常工作,dagger带有前缀的类(例如DaggerApiComponent)没有像人们期望的那样产生。任何帮助将不胜感激,是的,我正在使用gradle。
最终,我设法解决了这一问题,gradle的android-apt插件仅在使用时可用apply plugin: 'com.android.application'
。因此,在无法使用该com.android.application
插件的Java库中,您需要apply plugin: "net.ltgt.apt"
在应用此插件之后改为使用该插件,您可以apt "com.google.dagger:dagger-compiler:2.0.2"
在dependencies块中将apt配置用于dagger的编译器依赖项。还需要apply plugin: "idea"
为net.ltgt.apt
工作正常,如果你的插件注解处理器产生的匕首工厂类,但它不会包含在IDE的sourceSet不适用的想法,所以不要忘记申请的念头插件。所以最后我的构建脚本看起来像这样
buildscript {
repositories {
maven {
url "https://plugins.gradle.org/m2/"
}
}
dependencies {
classpath "net.ltgt.gradle:gradle-apt-plugin:0.6"
}
}
apply plugin: 'java'
apply plugin: "net.ltgt.apt"
apply plugin: "idea"
dependencies {
// Dagger 2 and Compiler
compile 'com.google.dagger:dagger:2.0.2'
apt "com.google.dagger:dagger-compiler:2.0.2"
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句