我想为每种口味使用不同的库模块。
例如:
我的口味
productFlavors {
free{
.......
}
paid{
.......
}
}
我尝试了
freeImplementation project(path:':freeLib', configuration: 'free')//for free
paidImplementation project(path:':paidLib', configuration: 'paid')//for paid
但我无法使用此编译错误
注意:这不是重复的问题。我已经尝试了一些StackOverflow问题。已经过时了(他们正在使用编译)
参考-Multi flavor app based on multi flavor library in Android Gradle
解决方案(摘自Gabriele Mariotti的评论)
freeImplementation project(path:':freeLib')
paidImplementation project(path:':paidLib')
答案 0 :(得分:4)
如果您拥有一个具有多种产品口味的库,则可以在lib/build.gradle
中定义:
android {
...
//flavorDimensions is mandatory with flavors.
flavorDimensions "xxx"
productFlavors {
free{
dimension "xxx"
}
paid{
dimension "xxx"
}
}
...
}
在您的app/build.gradle
中定义:
android {
...
flavorDimensions "xxx"
productFlavors {
free{
dimension "xxx"
// App and library's flavor have the same name.
// MatchingFallbacks can be omitted
matchingFallbacks = ["free"]
}
paid{
dimension "xxx"
matchingFallbacks = ["paid"]
}
}
...
}
dependencies {
implementation project(':mylib')
}
相反,如果您有单独的库,则可以在app/build.gradle
中简单地使用以下内容:
dependencies {
freeImplementation project(':freeLib')
paidImplementation project(':paidLib')
}