java - 如何包含 Dagger 2?

标签 java android gradle dependency-injection dagger-2

我正在尝试使用 Dagger 2 进行依赖注入(inject)。目前我正在添加这样的依赖项。

在build.gradle中

dependencies {
    classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
}

在 app/build.gradle 中

apply plugin: 'com.neenbedankt.android-apt'


dependencies {
    testCompile 'junit:junit:
    compile 'com.android.support:appcompat-v7:23.2.0'
    apt 'com.google.dagger:dagger-compiler:2.2'
    compile 'com.google.dagger:dagger:2.2'
    provided 'javax.annotation:jsr250-api:1.0'
}

问题是,我们正在创建一个 SDK(模块),它将被其他应用程序包含,所以我不想在 build.gradle 中包含依赖项。因此,我将不得不告诉其他应用程序在它们的主 bu​​ild.gradle 文件中包含 Dagger2 依赖项。

此外,如果有任何方法可以使用 jar 包含 dagger 库,请告诉我。

提前致谢:)

最佳答案

试试这个

将此添加到您的 build.gradle

dependencies {
 // other classpath definitions here
 classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
}

然后在你的 app/build.gradle 中:

 apply plugin: 'com.neenbedankt.android-apt'

 dependencies {
    // apt command comes from the android-apt plugin
   apt 'com.google.dagger:dagger-compiler:2.2'
   compile 'com.google.dagger:dagger:2.2'
   provided 'javax.annotation:jsr250-api:1.0'
 }

请注意,提供的关键字指的是仅在编译时需要的依赖项。

希望对你有帮助

关于java - 如何包含 Dagger 2?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36762023/

相关文章:

java.lang.OutOfMemory错误: Java heap space in rserve java

android - C2DM 推送通知 401 未授权错误的原因是什么?

android - 消耗品只能在 Unity 应用内购买中消耗一次

java - Java高CPU线程| JBOSS EAP 6.3 |无法找到根本原因

java:在同一个类中运行线程方法

java while 循环没有中断

java - readLine()怎么会出现空指针异常呢?

docker - Grails Gradle Docker插件bmuschko.github.io/gradle-docker-plugin/throws无法设置未知属性 'env'

android - 为什么尝试在Android Studio中构建Cordova应用程序时出现此错误

android - java.util.zip.ZipException:重复项:n.class