Cannot set the value of read-only property 'outputFile' for ApkVariantOutputImpl_Decorated

升级gradle到3.0.1的时候,app.gradle报了如下几种错误错误:主要是将以前的output.outputFile替换为outputFileName。

Could not get unknown property 'outputFile' for BuildType_Decorated{name=output, debuggable=false, testCoverageEnabled=false, jniDebuggable=false, pseudoLocalesEnabled=false, renderscriptDebuggable=false, renderscriptOptimLevel=3, minifyEnabled=false, zipAlignEnabled=true, signingConfig=null, embedMicroApp=true, 
Ambiguous method overloading for method java.io.File# . Cannot resolve which method to invoke for [class java.lang.String, null] due to overlapping prototypes between: [class java.lang.String, class java.lang.String] [class java.lang.String, class java.io.File] Open File
No signature of method: java.util.ArrayList.endsWith() is applicable for argument types: (java.lang.String) values: [.apk] Open File
反正不管是哪种错误,最后经过翻阅各个博客资料,和自己的尝试,修改为下面的方案总算是可以了。

  //自定义打包时apk名字
        android.applicationVariants.all { variant ->
            variant.outputs.all { output ->
                def fileName
                if (outputFileName != null && outputFileName.contains('.apk')) {
                    if (variant.buildType.name.equals('release')) {
                        //输出示例:  yilv-huawei-release.apk
                        fileName = "yilv-${variant.productFlavors[0].name}-${defaultConfig.versionName}-relese.apk"
                    } else if (variant.buildType.name.equals('debug')) {
                        fileName = "yilv-${variant.productFlavors[0].name}-${defaultConfig.versionName}-debug.apk"
                    }
                    outputFileName = fileName
                }
            }
        }
 
//渠道
        productFlavors {
            develop {}
            xiaomi {}
            huawei {}
 
        }
当然了,这是在区分debug包和release包的输出,如果不要区分的话,就直接输出就好了:

//自定义打包时apk名字
        android.applicationVariants.all { variant ->
              variant.outputs.all {                
                 outputFileName = "app-${defaultConfig.versionName}-debug.apk"
} }
至于添加版本号和versionName之类的方法,网上已经很多了,大家随便一搜就搜到了。我就不BB了  

 


转载:https://blog.csdn.net/sunchaohui5741/article/details/80499547 
 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值