android - 将 APK 文件从构建位置复制到 gradle 4.4 中的其他位置

标签 android gradle groovy android-gradle-plugin build.gradle

gradle 4.4 一样,无法更改 APK 输出文件的路径,并且我们现在无法使用文档中 apk 输出的绝对路径 - Modifying variant outputs at build time may not work所以我搜索了SO并找到了一个解决方案,我们可以在构建后将apk复制到我们想要的位置,但我对gradle脚本不太了解,并且无法调用复制任务。谁能帮我。

来 self 的 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")
   }
  }

通过这种方式我收到错误:

Could not get unknown property 'outputFileName' for task

知道如何将 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

关于android - 将 APK 文件从构建位置复制到 gradle 4.4 中的其他位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50169963/

相关文章:

java - 无法从 IDEA 13.0 IDE 为导入的 gradle 项目运行 Junit 测试

json - Groovy 中的动态类型类型

java - 读取调制解调器固件版本 : Android

android - 每行具有动态 View 的自定义 ListActivity

android - Admob 安卓 : Rewarded video not showing sometimes

android - 出现错误:Execution failed for task ':app:dexDebug'

android - 使用 AsyncTask onPostExecute 链接到新 Activity ?

gradle - Gradle插件jar依赖项

groovy - Groovy 注入(inject)中奇怪的 NullPointerException

mysql - 如何从csv文件中获取数据并用mysql保存到grails中?