首页 > 其他分享 >多渠道 打包 - 不同渠道引用不同 dependencies方法

多渠道 打包 - 不同渠道引用不同 dependencies方法

时间:2023-10-07 17:35:33浏览次数:27  
标签:channelB channelA 不同 ext dependencies rootProject 多渠道 android channel


如下build.gradle文件所示,
1.先定义productFlavors 渠道channelA和channelB,
2.然后通过getTaskNames 获取当前编译的渠道,并赋值给变量 channel
3.dependencies 中判断当前 channel 依赖不同的mudule或者jar
--------------------build.gradle文件
def channel = ""
gradle.startParameter.getTaskNames().each { task ->
if (task.toLowerCase().contains("channelA")) {
channel = "channelA"
} else if (task.toLowerCase().contains("channelB")) {
channel = "channelB"
}
}

android {
productFlavors {
channelA {
buildConfigField("String", "PROJECT_NAME", "\"channelA\"")
versionCode rootProject.ext.android["versionCode"]
versionName rootProject.ext.android["versionName"]

}
channelB {
buildConfigField("String", "PROJECT_NAME", "\"channelB\"")
versionCode rootProject.ext.android["versionCode"]
versionName rootProject.ext.android["versionName"]

}
}

}

dependencies {
println("**********channel:" + channel)
if (channel == "channelA") {
//依赖不同的module
} else if (channel == "channelB") {
//依赖不同的module
}
}

标签:channelB,channelA,不同,ext,dependencies,rootProject,多渠道,android,channel
From: https://www.cnblogs.com/adamli/p/17747002.html

相关文章