gpt4 book ai didi

android - 生命周期 Android 插件 gradle

转载 作者:行者123 更新时间:2023-12-03 04:38:19 25 4
gpt4 key购买 nike

我正在寻找一种动态包含口味的方法

为此,我尝试包含带有属性的子项目来配置主 Android 项目。
这是我的例子:

app
|-> src
| |-> flavor
| |-> build.gradle
|-> build.gradle
|-> settings.gradle

应用程序/settings.gradle
include ':src:flavor'

应用程序/src/flavor/build.gradle
ext {
isFlavor = true
}

应用程序/build.gradle
...

android {

...

productFlavors {

getAllprojects().each { project ->
if (project.ext.has("isFlavor")) {
def name = project.getName()
"$name" {
applicationId "com.example.app.$name"
}
}
}
}

}

这看起来很神奇..但它不起作用!
因为在 gradle 检查子项目之前配置了 Android,并且 flavor.ext.isFlavor 还不存在。
如果我使用配置注入(inject),Android 会吐我不敢的口水!
Android tasks have already been created

我在 stackoverflow 上读到我必须在我的 rootProject 中创建我的属性并在每个子项目中配置 Android。

但在我的情况下,子项目不是项目而是口味..

有谁知道在子项目中配置属性并在 rootProject 中使用它们?

我在 apply from: 附近搜索现在功能..

P.S:这是我的主线程和其他解决方案: Gradle dynamic flavor

最佳答案

我只是使用了条件和apply from:强制生命周期应用我的值(value)观:

if (new File(project(":app").getProjectDir().getPath() + "/flavors.gradle").exists()) {
apply from: "flavors.gradle"
}

关于android - 生命周期 Android 插件 gradle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31380498/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com