在升级android studio到3.0.X版本时,出现同步错误。
Gradle sync failed: 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.
Consult IDE log for more details (Help | Show Log) (1m 37s 807ms)
这是由于gradle升级至4.4版本后,对部分API进行了调整的缘故。
each() 和 outputFile() 方法分别修改为all() 和 outputFileName。
在原有gradle文件中,
variant.outputs.each { output ->
output.outputFile = new File(output.outputFile.parent, "APPName" + "-" + buildType.name + "-v" +
defaultConfig.versionName + "-" + defaultConfig.versionCode + ".apk");
}
}
修改后的相应内容为
android.applicationVariants.all { variant ->
variant.outputs.all {
outputFileName = "cep" + "-" + buildType.name + "-" + releaseTime() + "-v" + defaultConfig.versionName + "-" + defaultConfig.versionCode + ".apk";
}
}