gpt4 book ai didi

android - 如何在 Gradle 中包含不同版本的不同 apk 中的 jar 列表?

转载 作者:行者123 更新时间:2023-11-29 02:42:27 26 4
gpt4 key购买 nike

我的任务是通过 gradle 构建获得 dailyDebug、dailyRelease、standardDebug 和 standardRelease apk 文件。每个 apk 应包含具有不同版本和类型的常见应用程序列表,例如 dailyDebug 应包含具有最新集成版本和类型:debug 的 jar1 以及具有版本 01.05.02 和类型:release 的 standardRelease。

在 build.gradle 中,我有以下构建类型:

buildTypes {
debug {
signingConfig null
}
debugDaily {
signingConfig null
}
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig null
}
releaseDaily {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig null
}
}

这是每个 apk 中应该包含的 jar 列表。

 "jar1:latest.integration:release"
"jar2:latest.integration:release"
"jar3:latest.integration:release"
"jar4:latest.integration:release"
"jar5:latest.integration:release"

最简单的解决方案之一是像这样进行大量复制粘贴:

dependencies {
debugApk "jar1:01.02:debug"
debugApk "jar2:02.03:debug"
debugApk "jar3:05.12:debug"
debugApk "jar4:01.32:debug"
debugApk "jar5:02.01:debug"

releaseApk "jar1:01.02:release"
releaseApk "jar2:02.03:release"
releaseApk "jar3:05.12:release"
releaseApk "jar4:01.32:release"
releaseApk "jar5:02.01:release"

debugDailyApk "jar1:latest.integration:debug"
debugDailyApk "jar2:latest.integration:debug"
debugDailyApk "jar3:latest.integration:debug"
debugDailyApk "jar4:latest.integration:debug"
debugDailyApk "jar5:latest.integration:debug"

releaseDailyApk "jar1:latest.integration:release"
releaseDailyApk "jar2:latest.integration:release"
releaseDailyApk "jar3:latest.integration:release"
releaseDailyApk "jar4:latest.integration:release"
releaseDailyApk "jar5:latest.integration:release"
}

我正在寻找一个通用的解决方案,因为 jar 列表会越来越大,将来很难维护。

提前谢谢你,这是这里的第一篇文章:)

最佳答案

我找到了解决方案并想与您分享。所以在build.gradle中添加了2个函数:

def getDailyPackages(type){
String[] packages = [
"jar1:latest.integration:${type}"
"jar2:latest.integration:${type}"
"jar3:latest.integration:${type}"
"jar4:latest.integration:${type}"
"jar5:latest.integration:${type}"]
return packages
}

def getStandardPackages(type) {
String[] packages = [
"jar1:${jar1VersionName}:${type}",
"jar2:${jar2VersionName}:${type}",
"jar3:${jar3VersionName}:${type}",
"jar2:${jar4VersionName}:${type}",
"jar3:${jar5VersionName}:${type}",]
return packages
}

Jar 版本名称在 ext 部分声明:

ext {
jar1VersionName = '1.02'
jar2VersionName = '1.03'
jar3VersionName = '1.04'
jar4VersionName = '1.05'
jar5VersionName = '1.06'
}

最后用相应的类型调用它们:

dependencies {
debugApk(getStandardPackages("debug"))
releaseApk(getStandardPackages("release"))
debugDailyApk(getDailyPackages("debug"))
releaseDailyApk(getDailyPackages("release"))
}

希望这篇文章对您有所帮助:)

关于android - 如何在 Gradle 中包含不同版本的不同 apk 中的 jar 列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43135357/

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