Android Gradle Plugin 3.0:apk安装包输出到指定目录新方法
Android Gradle Plugin 3.0对操作apk输出的api做了变更。之前指定apk输出目录的方法不再适用。
Android Gradle Plugin 3.0之前
applicationVariants.all { variant ->
    variant.outputs.each { output ->
        output.outputFile = new File(output.outputFile.parent, defaultConfig.versionCode + "_" + output.outputFile.name)
    }
}
Android Gradle Plugin 3.0新方法
需要做两点修改:
- 使用all()替换 each()
- 使用outputFileName 替换 output.outputFile,这个只改变输出apk包名。
applicationVariants.all { variant ->
    variant.outputs.all {
        outputFileName = "${variant.name}-${variant.versionName}.apk"
    }
}
错误信息
如果没有修改,构建时报会类似的错误信息:
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.
 
             
             
             
             
            