我的productFlavor有两个dimension,
flavorDimensions "customer", "language"
productFlavors {
newera {
dimension "customer"
}
hello {
dimension "customer"
}
world {
dimension "customer"
}
cn {
dimension "language"
}
en {
dimension "language"
applicationIdSuffix ".en"
}
}
我想针对合并后的variant去引用不同的包,
比如 neweraEn 需要引用一个单独的库,其他都不需要。
单独一个dimension的implementation是正常的,比如 neweraImplementation project(":newera_en") 和 enImplementation project(":newera_en") 都正常,
但两个dimension混合后就会报错:neweraEnImplementation project(":newera_en") 就会报错:
Could not find method neweraEnImplementation() for arguments project ':newera en' on object of type0.internal.artifacts.dsl.dependencies..DefaultDependencyHandler .
请问这种场景有什么解决办法吗?
因为每个 customer 有许多共用代码,假设把dimension换成一维,定义 neweraCn, neweraEn,就要复制一大堆共用代码,反而不好维护。