Mih*_*edi 7 groovy android gradle android-studio build.gradle
// To Change the APK and Bundle Name
archivesBaseName = "${name}-v${versionCode}_${versionName}-${new Date().format('ddMMMyyyy_HH-mm')}"
Run Code Online (Sandbox Code Playgroud)
(为此也尝试将 - 更改variant.outputs.all为variant.outputs.each)
android.applicationVariants.all { variant ->
variant.outputs.all { output ->
output.outputFileName = "${variant.buildType.name}-v${versionCode}_${versionName}-${new Date().format('ddMMMyyyy_HH-mm')}.apk"
}
}
Run Code Online (Sandbox Code Playgroud)
当我使用选项一时,
问题- 它生成所有拆分,但它会使用 Gradle 中编写的最后一个风味覆盖风味配置。
另外,尽量看跌期权一个在只有一次defaultConfig,但因为它返回后写productFlavoursnull价值versionCode和versionName。
productFlavors {
aFlavor {
applicationId "com.a"
versionCode 5
versionName "1.0.5"
signingConfig signingConfigs.signingA
// To Change the APK and Bundle Name
archivesBaseName = "${name}-v${versionCode}_${versionName}-${new Date().format('ddMMMyyyy_HH-mm')}"
}
bFlavor {
applicationId "com.b"
versionCode 5
versionName "1.0.5"
signingConfig signingConfigs.signingB
// To Change the APK and Bundle Name
archivesBaseName = "${name}-v${versionCode}_${versionName}-${new Date().format('ddMMMyyyy_HH-mm')}"
}
cFlavor {
applicationId "com.c"
versionCode 3
versionName "1.0.3"
signingConfig signingConfigs.signingC
// To Change the APK and Bundle Name
archivesBaseName = "${name}-v${versionCode}_${versionName}-${new Date().format('ddMMMyyyy_HH-mm')}"
}
}
Run Code Online (Sandbox Code Playgroud)
当我使用选项二时,
问题- 它生成正确的名称但生成单个 APK 文件。
splits {
abi {
enable true
reset()
include 'arm64-v8a', 'x86', 'x86_64'
universalApk false
}
}
android.applicationVariants.all { variant ->
variant.outputs.all { output ->
output.outputFileName = "${variant.buildType.name}-v${versionCode}_${versionName}-${new Date().format('ddMMMyyyy_HH-mm')}.apk"
}
}
Run Code Online (Sandbox Code Playgroud)
捆绑包问题- 无法使用选项二重命名捆绑包。
根据这个答案,您可以进行Option - Two一些细微的更改,如下所述仅适用于APK,不适用于Bundle / AAB files(对于捆绑包,请参阅此答案)
splits {
abi {
enable true
reset()
include 'arm64-v8a', 'x86', 'x86_64'
universalApk false
}
}
android.applicationVariants.all { variant ->
variant.outputs.all { output ->
// New one or Updated one
output.outputFileName = "${variant.getFlavorName()}-${variant.buildType.name}-v${versionCode}_${versionName}-${new Date().format('ddMMMyyyy_HH-mm')}-${output.getFilter(com.android.build.OutputFile.ABI)}.apk"
// Old one
// output.outputFileName = "${variant.buildType.name}-v${versionCode}_${versionName}-${new Date().format('ddMMMyyyy_HH-mm')}.apk"
}
}
Run Code Online (Sandbox Code Playgroud)
另外,从每个风味块中删除该行
// To Change the APK and Bundle Name
archivesBaseName = "${name}-v${versionCode}_${versionName}-${new Date().format('ddMMMyyyy_HH-mm')}"
Run Code Online (Sandbox Code Playgroud)
这样,你就可以得到这样的输出文件名
aFlavor-release-v5_1.0.5-16Jan2020_21-26-arm64-v8a.apk
aFlavor-release-v5_1.0.5-16Jan2020_21-26-x86_64.apk
aFlavor-release-v5_1.0.5-16Jan2020_21-26-x86.apk
aFlavor-debug-v5_1.0.5-16Jan2020_21-26-arm64-v8a.apk
aFlavor-debug-v5_1.0.5-16Jan2020_21-26-x86_64.apk
aFlavor-debug-v5_1.0.5-16Jan2020_21-26-x86.apk
与上面类似的名称只需将前缀更改aFlavor为bFlavorlike
bFlavor-release-v5_1.0.5-16Jan2020_21-26-arm64-v8a.apk
与上面类似的名称只需将前缀更改aFlavor为cFlavor
and即可versionCodeversionName
cFlavor-release-v3_1.0.3-16Jan2020_21-26-arm64-v8a.apk
| 归档时间: |
|
| 查看次数: |
1591 次 |
| 最近记录: |