我发现了类似的问题,但没有什么能够解决我想做的事情.我正在使用Android Studio和gradle进行开发,我的构建文件中有几种风格,每种风格都有一个versionName.有没有办法在APK文件中包含flavor的版本名称?
kco*_*ock 12
编辑:对于Gradle工具的现代版本,使用@ ptx的变体(用于output.outputFile代替variant.outputFile:
android {
applicationVariants.all { variant ->
variant.outputs.each { output ->
output.outputFile = new File(output.outputFile.parentFile,
output.outputFile.name.replace(".apk", "${variant.versionName}.apk"));
}
}
}
Run Code Online (Sandbox Code Playgroud)
从Gradle工具插件版本0.14开始,您应该开始使用以下代码来正确支持多个输出文件(例如APK Splits):
android {
applicationVariants.all { variant ->
variant.outputs.each { output ->
variant.outputFile = new File(variant.outputFile.parentFile,
variant.outputFile.name.replace(".apk", "${variant.versionName}.apk"));
}
}
}
Run Code Online (Sandbox Code Playgroud)
对于旧版本:
是的,我们在我们的应用程序中执行此操作.只需在build.gradle中的android标记中添加以下内容:
android {
applicationVariants.all { variant ->
def oldFile = variant.outputFile
def newPath = oldFile.name.replace(".apk", "${variant.versionName}.apk")
variant.outputFile = new File(oldFile.parentFile, newPath)
}
}
Run Code Online (Sandbox Code Playgroud)
kcoppock的回答是正确的,但有一个小错字.它应该是:
android {
applicationVariants.all { variant ->
variant.outputs.each { output ->
output.outputFile = new File(output.outputFile.parentFile,
output.outputFile.name.replace(".apk", "${variant.versionName}.apk"));
}
}
}
Run Code Online (Sandbox Code Playgroud)
(我写这个作为答案,因为我没有发表评论的声誉)
| 归档时间: |
|
| 查看次数: |
3373 次 |
| 最近记录: |