doo*_*e89 5 android gradle android-gradle-plugin android-productflavors android-build-flavors
例如,我有 3 个模块(A、B 和 C),其中 A 依赖于 B,B 依赖于 C(A->B->C)。模块 A 是构建过程的入口点,没有其他模块依赖于它,例如 Android 应用程序中的 :app 模块。模块 A 和 C 具有相同的风味维度和相同的风味集(例如风味 1、风味 2、风味 3、风味 4 等)。模块 B 没有任何风格。
现在的问题是:如何将这些依赖关系定义为“可传递的”,使模块 A i 模块 C 的风格始终匹配?
模块 A(风味 1) -> 模块 B -> 模块 C(风味 1)
模块 A(风味 2) -> 模块 B -> 模块 C(风味 2)
模块 A(口味 3) -> 模块 B -> 模块 C(口味 3)
ETC..
如果所有 3 个模块具有相同的风格,Gradle 会自动匹配它们,但由于 B 没有风格,因此会发生错误,这已在这个问题中描述过:Singleflavor module based on multi Flavor Library in Gradle but non of Answers is true相关的 :(
我现在需要的是,如果我运行 ./gradlew buildFlavor1Debug 来获取带有flavor1的模块A和C,并且通常让所有了解风味的模块与链开始时给出的风味相匹配,并且对于那些不了解风味的模块不知道口味只是转发/忽略它们。
missingDimensionStrategy 'dimension' 的问题在于它需要硬编码/固定依赖的风味,而不是基于构建的入口点动态,例如:missingDimensionStrategy 'myDimension' 'flavor1'
模块 A(风味 1) -> 模块 B -> 模块 C(风味 1)
模块 A(风味 2) -> 模块 B -> 模块 C(风味 1)
模块 A(口味 3) -> 模块 B -> 模块 C(口味 1)
ETC..
归档时间: |
|
查看次数: |
357 次 |
最近记录: |