我有一个包含2个模块的项目:library
和app
中的一个或多个。library
模块当然是一个库,只有release
和debug
构建类型。app
模块有4种风格以及release
和debug
构建类型,总共有8种构建变体。它还声明了对library
模块的依赖关系,如下所示:compile project(path:':library', configuration:'release')
我希望能够根据应用的构建变体设置library
配置:release
内部版本变体应使用release
版本的库,debug
内部版本变体应使用debug
版本的库。
显而易见的答案是列出8个变体中的每一个,并进行适当的配置,这样就可以工作了,但这不是最佳答案:它很难看,而且使构建脚本过于混乱。
我已经尝试了几种project.configurations.all{}
和applicationVariants.all{}
的方法,但是我找不到一种确定的方法来设置依赖项配置。
有没有更干净的方法?
1条答案
按热度按时间3pvhb19x1#
如果现在还有人遇到这个(或类似的)问题,您可能希望使用
matchingFallbacks
来指定在您所依赖的库没有匹配的配置时要回退到哪个已解析的buildType或flavor。https://developer.android.com/studio/build/build-variants#resolve_matching_errors
默认情况下,应该有一个
debug
和release
配置文件,所以要解决OP问题,您只需要删除依赖声明中的显式配置设置:来自开发站点的片段,以备将来移动(. kts):