根据构建变体在模块内加载不同的(调试或发布)AAR

问题描述 投票:0回答:1

我有以下应用程序项目:

myapplication
    - app
    - mymodule
        - build.gradle
        - lib-debug.aar
        - lib-release.aar

myapplication/mymodule/build.gradle 的内容如下:

configurations.maybeCreate("default")
artifacts.add("default", file('lib-release.aar'))

现在,我想做的是根据应用程序的构建变体加载

lib-release.aar
lib-debug.aar
。 如何在我的
mymodule
模块内进行此检查?

android gradle
1个回答
0
投票

这是[子模块]上需要的build.gradle,用于根据构建类型自动选择不同的aar文件:

import com.android.build.api.attributes.*

configurations.maybeCreate("debug").attributes { attribute(BuildTypeAttr.ATTRIBUTE, project.objects.named(BuildTypeAttr.class,"debug")) }
configurations.maybeCreate("release").attributes { attribute(BuildTypeAttr.ATTRIBUTE, project.objects.named(BuildTypeAttr.class,"release")) }

artifacts.add("debug", file('[nameOfTheAar]-debug.aar'))
artifacts.add("release", file('[nameOfTheAar]-release.aar'))

这允许您的[模块]中只有一行导入[子模块]

implementation(project(":[submodulename]"))

要点是:

最初在这里回答:创建一个新的配置并为 Android gradle 中的模块设置其 BuildTypeAttr

© www.soinside.com 2019 - 2024. All rights reserved.