Android studio 3.0 引起的自定义打包文件名 outputFile sync failed

在Android studio 3.0 之前 我们自定义apk名称使用如下方式:

//修改APK名称
applicationVariants.all { variant ->
    variant.outputs.each { output ->
        def outputFile = output.outputFile
        if (outputFile != null && outputFile.name.endsWith('.apk')) {
            // 输出apk名称为ForWatch_v1.1(2)_2016-09-28_15-54-35.apk
            def version = "v${versionName}-${versionCode}";
            def endIndex = outputFile.name.indexOf('.apk');
            def apkName = outputFile.name.substring(0, endIndex);
            def fileName = "${apkName}_${version}_${buildTime()}_${revision()}.apk"
            output.outputFile = new File(outputFile.parent, fileName)
        }
    }
}


但是更新到as3.0以后,会同步失败,更改如下:

applicationVariants.all { variant ->
    variant.outputs.all { output ->
        def outputFile = output.outputFile
        if (outputFile != null && outputFile.name.endsWith('.apk')) {
            // 输出apk名称为ForWatch_v1.1(2)_2016-09-28_15-54-35.apk
            def version = "v${versionName}-${versionCode}"
            def endIndex = outputFile.name.indexOf('.apk')
            def apkName = outputFile.name.substring(0, endIndex);
            def fileName = "${apkName}_${version}_${buildTime()}_${revision()}.apk"
            //output.outputFile = new File(outputFile.parent, fileName)
            outputFileName = fileName
        }
    }
}


版权声明:本文为sinat_22949049原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。