我的Android build.gradle文件中有以下任务,它为我复制我构建的APK文件:
/**
* Copies the final release APK into the project root folder.
*/
task copyRelease(type: Copy) {
// define output files exactly to work around a file locking issue
outputs.files.setFrom(file("../app-release.apk"))
from "build/outputs/apk/app-release.apk"
into ".."
}
这已经有很长一段时间了,今天在做Android Studio的建议更新时破了:
现在运行成绩构建会在outputs.files.setfrom(...)
行上显示以下错误:
No signature of method: org.gradle.api.internal.tasks.DefaultTaskOutputs$TaskOutputUnionFileCollection.setFrom() is applicable for argument types: (java.io.File) values: [..\app-release.apk]
Possible solutions: sort()
总而言之,似乎TaskOutputUnionFileCollection.setFrom()
不再需要File
个参数。
但我不知道如何将此代码迁移到新版本,而look through the source class对我没有帮助。
我查看了Android Gradle plugin Known Issues page以及Gradle 3.3. Release Notes,但没有找到对此的直接引用。
答案 0 :(得分:0)
我找不到直接&上述代码的精确翻译,无需实施变通方法。问题在于使用项目的根文件夹作为复制命令的目标。
解决方法是创建一个单独的文件夹histogram.o
,然后以下代码正常工作:
histogram.cpp