在Android Studio 3.5中重命名具有构建变体的应用程序的存档名称
我使用以下渐变代码为多个apk构建单一代码:在Android Studio 3.5中重命名具有构建变体的应用程序的存档名称,android,android-studio,gradle,build.gradle,apk,Android,Android Studio,Gradle,Build.gradle,Apk,我使用以下渐变代码为多个apk构建单一代码: flavorDimensions "version" productFlavors { Free { dimension "version" applicationId "com.exampleFree.app" } Paid { dimension "version" applicationId
flavorDimensions "version"
productFlavors {
Free {
dimension "version"
applicationId "com.exampleFree.app"
}
Paid {
dimension "version"
applicationId "com.examplePaid.app"
}
}
现在,当我构建时,它会创建存档应用程序,如下所示:
app-Free-debug.apk
当我在gradle中包含以下代码时
setProperty("archivesBaseName","")
它现在创建如下APK存档名称
-Free-debug.apk
我需要我的APK文件名如下
Free-debug.apk
我已经很接近了,但是如何删除这个广告词-它是在前缀中附加的?这里你可以像这样使用android迁移
android {
//........
flavorDimensions "version"
productFlavors {
Free {
dimension "version"
applicationId "com.exampleFree.app"
}
Paid {
dimension "version"
applicationId "com.examplePaid.app"
}
}
applicationVariants.all { variant ->
variant.outputs.all { output ->
def appId = variant.applicationId// com.exampleFree.app OR com.examplePaid.app
def versionName = variant.versionName
def versionCode = variant.versionCode // e.g 1.0
def flavorName = variant.flavorName // e. g. Free
def buildType = variant.buildType.name // e. g. debug
def variantName = variant.name // e. g. FreeDebug
//customize your app name by using variables
outputFileName = "${variantName}.apk"
}
}}
Apk名称FreeDebug.Apk
证明
这可能会有帮助-我已经添加了我的答案,如果这个答案解决了你的问题,请接受它作为一个答案,以便其他未来的人可以研究它。是的,但我得到免费的com.android.build.gradle.internal.api。ReadOnlyBuildType@2b5e6b50.apk当我这样做的时候outputFileName=${flavorName}-${buildType}.apkGot它!它的outputFileName=${flavorName}-${buildType.name}.apkThanks@HappySingh谢谢,顺便说一句,在哪里搜索像outputFileName这样的gradle变量名更好?@AntonMalyshev是的,据我所知,这很好,但是可以有更好的方法。如果您能找到,请告诉我。@HappySingh只是想知道您在哪里找到变量名outputFileName。。。