当我使用Android Studio 3.0并在project/build.gradle
中使用下一版本的Android Gradle插件时:
classpath 'com.android.tools.build:gradle:3.0.1'
而且工作正常。
更新到Android Studio 3.1之后,我更新了Android Gradle插件:
classpath 'com.android.tools.build:gradle:3.1.0'
现在我的
app/build.gradle
中出现错误:def releaseFileName = "${rootProject.name}_${defaultConfig.versionName}.apk"
outputFileName = new File(rootProject.projectDir.absolutePath + "/release", releaseFileName.toLowerCase())
错误:
设置输出文件名时不支持绝对路径
我需要将输出apk(
app-release.apk
)放在项目中的特定路径中。在文件夹MyProject/release/app-relese.apk
中。我该怎么做?
最佳答案
我认为使用“ ./../../../”是不好的解决方案...我在多个项目中使用通用gradle脚本,并且希望使代码与输出目录的深度保持独立。
经过一番研究,我发现了gradle插件3.1.2的解决方案:
applicationVariants.all { variant ->
variant.outputs.all { output ->
def relativeRootDir = output.packageApplication.outputDirectory.toPath()
.relativize(rootDir.toPath()).toFile()
output.outputFileName = new File( "$relativeRootDir/release", newOutputName)
}
}
关于android-studio - android studio 3.1:build:gradle:3.1.0-设置输出文件名时不支持绝对路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49530142/