gpt4 book ai didi

android - 使用Android Studio 3.0中的发布任务,Gradle复制APK文件

转载 作者:行者123 更新时间:2023-12-03 04:46:55 25 4
gpt4 key购买 nike

在Android插件版本3.0.0-alpha4之前,我一直使用以下代码将我的APK的不同变体发布到特定的文件路径:

def publish = project.tasks.create("publishAll")
android.applicationVariants.all { variant ->
def task = project.tasks.create("publish${variant.name}Apk", Copy)
task.from(variant.outputs[0].outputFile)
task.into(buildDir)

task.dependsOn variant.assemble
publish.dependsOn task
}

我最初是从Xavier Ducrohet的回答中得到的: Copying APK file in Android Gradle project

从使用3.0.0-alpha4版本的Android Studio Preview的新更新开始,不推荐使用variant.outputFile。建议实现这种目标的新方法是什么?

编辑:
看起来目前无法访问此处指出的变体输出文件: https://developer.android.com/studio/preview/features/new-android-plugin-migration.html#variant_api

看起来我们必须等到他们介绍这些api之后

最佳答案

如果您不使用abi拆分,则下一个代码段有效

project.afterEvaluate {
android.applicationVariants.all { variant ->
// create file where to copy
def backupFolder = rootProject.file("backup")
def backupFile = new File(backupFolder, String.format("%s_v%s.%d.apk", variant.flavorName, variant.versionName, variant.versionCode))

variant.outputs.all { output ->
Task copyAndRenameAPKTask = project.task("copyAndRename${variant.name.capitalize()}APK", type: Copy) {
from output.outputFile.getParent()
into backupFolder
include output.outputFileName
rename(output.outputFileName, backupFile.getName())
}

// if copyAndRenameAPKTask needs to automatically execute assemble before
copyAndRenameAPKTask.dependsOn(variant.assemble)
copyAndRenameAPKTask.mustRunAfter(variant.assemble)

// if assemble needs to automatically execute copyAndRenameAPKTask after
variant.assemble.finalizedBy(copyAndRenameAPKTask)
}
}
}

关于android - 使用Android Studio 3.0中的发布任务,Gradle复制APK文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44596136/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com