美文网首页
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