我有一个库,我目前已经分成两个不同的 gradle模块。其中一个gradle模块提供了我的库的存根/虚拟实现,我有另一个gradle模块,它提供了真正的实现。原因是,在我的应用程序的某些风格中,我想只使用存根实现,而库什么都不做,而其他风格,我想提供真正的实现。
在我的应用程序的build.gradle中,我使用以下"依赖项"块。
dependencies {
flavorOneCompile project(":realLibrary")
flavorTwoCompile project(":stubLibrary")
}
这个解决方案似乎没问题,但是我必须维护两个gradle模块。当我需要决定放置类文件的位置(实际或存根)时,它也会让它变得有点笨拙。我应该能够只使用一个库,并使用gradle"配置以某种方式在两种类型之间切换
https://docs.gradle.org/current/dsl/org.gradle.api.artifacts.Configuration.html
然而,我还没有能够学会如何做到这一点。我尝试创建"配置"在我的Android库中阻止
configurations {
real
stub
}
然后在我的应用的build.gradle中,执行以下操作。
dependencies {
flavorOneCompile project(path ":myLib", configuration "real")
flavorTwoCompile project(path ":myLib", configuration "stub")
}
这似乎不起作用。有没有办法实现我想要的?也就是说,有一个库,以便我的库的源代码是自包含的,但也提供了我的库的不同变体?
谢谢!