刚刚将我的android项目更新为最新的android gradle插件,并更改了脚本,因为有一些不推荐使用的方法。但是,当我尝试构建项目时出现argument type mismatch
错误。我尝试更改outputfile
名称时发现错误,以下是'build.gradle'中脚本的一部分:
android.applicationVariants.all { variant ->
def apkName = target;
if (variant.buildType.name == "release") {
apkName += "-RELEASE.apk";
} else {
apkName += "-DEBUG.apk"
}
// this is the line caused type mismatch error
variant.outputs.outputFile = file("$project.buildDir/outputs/apk/" + apkName)
}
我尝试更改为
variant.outputs.outputFile = "$project.buildDir/outputs/apk/" + apkName
但它不起作用。如何解决?
最佳答案
引用我自己对相同问题here的回答,您可以将脚本更改为以下形式:
variant.outputs.each { output ->
if (output.outputFile != null && output.outputFile.name.endsWith('.apk')) {
output.outputFile = file("${project.buildDir}/outputs/apk/" + apkName)
}
}