关于android studio升级3.0以后自动输出apk名的报错问题

升级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了  

你可能感兴趣的:(android,android-studio,3.0,gradle,打包,apk)