繁体   English   中英

如何让dagger 2与Android studio java库项目一起使用

[英]How do I get dagger 2 to work with Android studio java library project

我有一个app模块(这是我的应用程序)和一个java库项目模块(称为api)我想在api模块中使用dagger 2但是注释处理器不工作,匕首前缀类(例如DaggerApiComponent)并没有像人们期望的那样产生。 任何帮助将不胜感激,是的,我正在使用gradle。

最后我设法解决了这个问题,gradle的android-apt插件只有在apply plugin: 'com.android.application'时才可用apply plugin: 'com.android.application'被使用。 所以在你不能使用com.android.application插件的java库中你需要使用插件apply plugin: "net.ltgt.apt"应用这个插件之后你可以使用apt配置来实现dagger的编译器依赖性apt "com.google.dagger:dagger-compiler:2.0.2"依赖项块中的apt "com.google.dagger:dagger-compiler:2.0.2" 此外,您需要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"
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM