Android 将APK文件从生成位置复制到gradle 4.4中的其他位置
正如在Android 将APK文件从生成位置复制到gradle 4.4中的其他位置,android,gradle,groovy,android-gradle-plugin,build.gradle,Android,Gradle,Groovy,Android Gradle Plugin,Build.gradle,正如在gradle4.4中一样,不可能更改APK输出文件的路径,我们现在不能从文档中为APK的输出使用绝对路径-因此我搜索了这么多,并找到了一个解决方案,我们可以在构建后将APK复制到我们想要的位置,但我对gradle脚本没有太多的想法,我是无法调用复制任务。有人能帮我吗 来自我的gradle的代码: android { ................ android.applicationVariants.all { variant -> variant
gradle
4.4
中一样,不可能更改APK输出文件的路径,我们现在不能从文档中为APK的输出使用绝对路径-因此我搜索了这么多,并找到了一个解决方案,我们可以在构建后将APK
复制到我们想要的位置,但我对gradle脚本没有太多的想法,我是无法调用复制任务。有人能帮我吗
来自我的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文件复制到另一个路径吗?谢谢
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
移除
task copyApk
我可以在
gradle
文件中运行copy
脚本,如下所示:
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
}
}
我可以在
gradle
文件中运行copy
脚本,如下所示:
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
}
}
在gadle 4.4中,我们不能为apk输出使用绝对路径,在以前的gradle版本中,我是按照您建议的方式进行的,但在最新的gradleoutputFileName=new文件(“../”,“${variant.name}-${variant.versionName}.apk”)。/”是一个相对路径,您可以用其他路径替换。我使用的是gradle4.4,它可以工作。我们不能在gadle 4.4中使用apk输出的绝对路径。在以前的gradle版本中,我使用的方法与你建议的相同,但在最新的gradleoutputFileName=new文件(“../”,“${variant.name}-${variant.versionName}.apk”)。/“是一个相对路径,你可以用其他路径替换,../../”。我使用的是gradle4.4,它可以工作。但是,这个复制过程将在编译APK之前进行,只移动先前编译的APK,而不是最新的APK。但是,这个复制过程将在编译APK之前进行,只移动先前编译的APK,而不是最新的APK。