在 Android 中使用 Dagger 生成的测试代码
Use Dagger generated test code in Android
我正在尝试使用 Dagger2 in my android project as explained in hitherejoe/Android-Boilerplate。在设置项目时,我在构建时遇到了以下错误。
Error:(30, 26) error: cannot find symbol variable DaggerTestComponent
在深入研究文档和生成的代码后,我发现代码不是在调试 (/app/build/generated/source/apt/debug/) 文件夹中生成的,而是在 test/debug(/app/build/generated/source/apt /test/debug) 文件夹。
所以在我的测试源文件夹中无法导入生成的DaggerTestComponent。
知道如何将 test/debug 文件夹包含到源中吗?
我的依赖关系如下
testCompile 'com.neenbedankt.gradle.plugins:android-apt:1.8'
compile "com.google.dagger:dagger:$DAGGER_VERSION"
apt "com.google.dagger:dagger-compiler:$DAGGER_VERSION"
provided 'javax.annotation:jsr250-api:1.0'
compile 'javax.inject:javax.inject:1'
testApt "com.google.dagger:dagger-compiler:$DAGGER_VERSION"
提前致谢。
使用:
// Dagger 2
provided "javax.inject:javax.inject:1"
compile "com.google.dagger:dagger:$DAGGER_VERSION"
apt "com.google.dagger:dagger-compiler:$DAGGER_VERSION"
我遇到了同样的问题...我通过添加生成的测试源目录解决了这个问题:
android {
sourceSets {
// add dagger generated files (works only with debug build)
test.java.srcDirs += ['build/generated/source/apt/test/debug']
}
}
我正在尝试使用 Dagger2 in my android project as explained in hitherejoe/Android-Boilerplate。在设置项目时,我在构建时遇到了以下错误。
Error:(30, 26) error: cannot find symbol variable DaggerTestComponent
在深入研究文档和生成的代码后,我发现代码不是在调试 (/app/build/generated/source/apt/debug/) 文件夹中生成的,而是在 test/debug(/app/build/generated/source/apt /test/debug) 文件夹。 所以在我的测试源文件夹中无法导入生成的DaggerTestComponent。
知道如何将 test/debug 文件夹包含到源中吗? 我的依赖关系如下
testCompile 'com.neenbedankt.gradle.plugins:android-apt:1.8'
compile "com.google.dagger:dagger:$DAGGER_VERSION"
apt "com.google.dagger:dagger-compiler:$DAGGER_VERSION"
provided 'javax.annotation:jsr250-api:1.0'
compile 'javax.inject:javax.inject:1'
testApt "com.google.dagger:dagger-compiler:$DAGGER_VERSION"
提前致谢。
使用:
// Dagger 2
provided "javax.inject:javax.inject:1"
compile "com.google.dagger:dagger:$DAGGER_VERSION"
apt "com.google.dagger:dagger-compiler:$DAGGER_VERSION"
我遇到了同样的问题...我通过添加生成的测试源目录解决了这个问题:
android {
sourceSets {
// add dagger generated files (works only with debug build)
test.java.srcDirs += ['build/generated/source/apt/test/debug']
}
}