testApt Android Studio中的Android库
问题描述:
我正在开发一个android库项目。我想在JUnit的测试中使用依赖注入工作(apt注释处理)。我使用的DI框架是Dagger2。 所有匕首的组件/模块/类的需要是测试仅即@Component接口和@Module类都在的src /测试/ JAVA(NOT中的src /主/爪哇)testApt Android Studio中的Android库
定义我gradle这个文件如下:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.2.3'
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.4'
}
}
和core.gradle:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:25.2.0'
testCompile 'junit:junit:4.12'
// ------- dagger 2 -----------------------------
testCompile 'com.google.dagger:dagger:2.9'
testApt 'com.google.dagger:dagger-compiler:2.9'
testProvided 'org.glassfish:javax.annotation:10.0-b28'
}
但是,我越来越:
Error:(42, 0) Could not find method testApt() for arguments [com.google.dagger:dagger-compiler:2.9] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.
我知道新的DSL方法是testAnnotationProcessor但我还是用com.neenbedankt.android-apt
并没有切换到杰克编译呢。
答
答案结果非常简单。我只是需要升级android-apt
插件版本1.8支持testApt
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'