美文网首页
Android_项目_自定义编译后APK文件名问题

Android_项目_自定义编译后APK文件名问题

作者: 宋木木的征途是星辰大海 | 来源:发表于2018-03-01 16:27 被阅读0次

自定义编译后APK文件名问题

初遇

gradle 打包,自定义 apk 名称代码报错:

(Cannot set the value of read-only property ‘outputFile’ ) 
Error:(56, 0) Cannot set the value of read-only property ‘outputFile’ for ApkVariantOutputImpl_Decorated{apkData=Main{type=MAIN, fullName=debug, filters=[]}} of type com.android.build.gradle.internal.api.ApkVariantOutputImpl.

为何

Android Studio 3.0 的自带 Gradle 版本是 4.1,插件版本是 3.0.0,所以如果你使用的是老版本,就会出现一些小的兼容问题。

解决

旧代码:

        applicationVariants.all { variant ->
            variant.outputs.each { output ->
                if (output.outputFile != null && output.outputFile.name.endsWith('.apk')
                        && 'release'.equals(variant.buildType.name)) {
                    def apkFile = new File(
                            output.outputFile.getParent(),
                            "CodeBox_${variant.flavorName}_v${variant.versionName}_${variant.versionCode}_${buildTime()}.apk")
                    output.outputFile = apkFile
                }
            }
        }

新代码:

        android.applicationVariants.all { variant ->
            variant.outputs.all {
                outputFileName = "CodeBox_${variant.flavorName}_v${variant.versionName}_${variant.versionCode}_${buildTime()}.apk"
            }
        }

相关文章

网友评论

      本文标题:Android_项目_自定义编译后APK文件名问题

      本文链接:https://www.haomeiwen.com/subject/mcxnxftx.html