我有:A
(上游模块)。
在:A
内,我想与下游模块分享一个src/fakes/java
。这包含:A
中的虚假接口实现,可用于测试目的。我希望将其包含在:A
中以进行测试,并可选择将其公开给下游消费者。
:A
的build.gradle
android {
sourceSets {
fakes {
java {
srcDir android.sourceSets.main.java
srcDir 'src/fakes/java'
}
}
test.java.srcDir 'src/fakes/java'
}
configurations {
fakes
fakes.extendsFrom(main)
fakes.transitive false
}
}
}
:B
的build.gradle
dependencies {
compile project(path: ':A')
testCompile project(path: ':A', configuration: 'fakes')
}
但是,当在:B
中编译引用:A
的{{1}}内的类的测试类时,我得到一个未解决的引用错误。这是因为src/fake/java
没有为:A
配置构建.apk
。
我怎样才能做到这一点?如果可能的话,我宁愿不使用Android的产品口味。