相关疑难解决方法(0)

如何使用gradle在APK文件名中设置versionName?

我正在尝试在gradle自动生成的APK文件名中设置特定的版本号.

现在gradle生成myapp-release.apk但我希望它看起来像myapp-release-1.0.apk.

我尝试过重命名看起来很乱的选项.有一个简单的方法吗?

buildTypes {
    release {
       signingConfig signingConfigs.release
       applicationVariants.each { variant ->
       def file = variant.outputFile
       variant.outputFile = new File(file.parent, file.name.replace(".apk", "-" +    defaultConfig.versionName + ".apk"))
    }
}
Run Code Online (Sandbox Code Playgroud)

我试过上面的代码没有运气.有什么建议?(使用gradle 1.6)

android build gradle apk android-gradle-plugin

159
推荐指数
9
解决办法
8万
查看次数

Android Gradle build:重命名apk

如何调整build.gradle以更改apk的最终基本名称?(不更改默认后缀)

android build gradle android-gradle-plugin

19
推荐指数
3
解决办法
1万
查看次数

如何在Kotlin中访问variant.outputFileName

我们一直在使用像这样的代码片段来重命名由Gradle构建生成的APK文件:

android.applicationVariants.all { variant ->
    variant.outputs.all {
        outputFileName = "${variant.name}-${variant.versionName}.apk"
    }
}
Run Code Online (Sandbox Code Playgroud)

来源:https : //developer.android.com/studio/build/gradle-plugin-3-0-0-migration#variant_output

我现在在我的转换的过程中build.gradlebuild.gradle.kts,即到摇篮科特林DSL。这是最后缺少的部分之一:我不知道如何访问outputFileName

根据API文档,它似乎甚至不存在:

  • BaseVariant.getOutputs()返回,DomainObjectCollection<BaseVariantOutput>其中提供all了代码段中使用的方法。
  • BaseVariantOutput扩展OutputFileVariantOutput但没有一个outputFileName具有匹配名称的getter或setter。

因此,我怀疑有一些先进的Groovy魔术可以使它起作用-但是我如何在科特林到达那里?

gradle kotlin android-gradle-plugin gradle-kotlin-dsl

6
推荐指数
3
解决办法
1063
查看次数