与gradle
4.4
一样,无法更改APK输出文件的路径,我们现在无法使用文档中的apk输出的绝对路径 - Modifying variant outputs at build time may not work所以我在SO上搜索并找到了一个解决方案,我们可以在构建之后将apk
复制到我们想要的位置,但我对gradle脚本没有太多了解,我无法调用复制任务。谁能帮我。
代码:
android {
................
android.applicationVariants.all { variant ->
variant.outputs.all {
if (variant.name.contains("Release")) {
outputFileName = "${variant.name}-${variant.versionName}.apk"
}
}
assembleRelease {
dependsOn copyDocs
}
}// end of android brace
task copyApk(type: Copy) {
from outputFileName
into file("${project.buildDir}/outputs/apk")
}
}
从这个方面我得到错误:
无法为任务
获取未知属性'outputFileName'
知道如何将apk文件复制到另一个路径吗?感谢。
答案 0 :(得分:1)
android.applicationVariants.all { variant ->
variant.outputs.all {
println variant.name
if (variant.name.contains("release")) {
outputFileName = new File("../", "${variant.name}-${variant.versionName}.apk")
println outputFileName
}
}
}
并删除
task copyApk
答案 1 :(得分:0)
我可以通过在copy
文件中运行gradle
脚本来做到这一点:
android.applicationVariants.all { variant ->
variant.outputs.all {
copy {
from file("${project.buildDir}/outputs/apk/" + variant.name + "/release/${outputFileName}")
into file("${project.buildDir}/outputs/apk/")
}
delete file("${project.buildDir}/outputs/apk/" + variant.name) // i don't want apk on this location so after successful copy i am deleting it
}
}