创建签名包后执行任务 [英] Executing a task after a signed bundle is created

查看:50
本文介绍了创建签名包后执行任务的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想从Android Studio中获取生成的签名包,并生成所有apk并将它们安装在当时与我的计算机连接的每台设备上.

I would like to take the generated signed bundle from Android Studio and generate all apks and install them on every device that is connected to my computer at that time.

我知道如何生成apk并安装它们,但是在创建签名包后我不知道如何运行该脚本.我只希望在使用Build-> Generate Signed bundle/apk并选择一个包和生产发布版本时运行它.

I know how to generate the apks and install them but I don't know how to run that script after a signed bundle is created. I only want this to run when I use Build -> Generate signed bundle/apk and choose a bundle and the production release flavor.

我可以用gradle做到吗?

Can I do that with gradle?

谢谢.

推荐答案

Android任务通常是在"afterEvaluate"阶段创建的.从gradle 2.2开始,这些任务还包括"assembleDebug"和"assembleRelease".要访问此类任务,用户将需要使用afterEvaluate关闭:

Android tasks are typically created in the "afterEvaluate" phase. Starting from gradle 2.2, those tasks also include "assembleDebug" and "assembleRelease". To access such tasks, the user will need to use an afterEvaluate closure:

 afterEvaluate {
       assembleDebug.dependsOn someTask    }

来源: https://code.google.com/p/android/issues/detail?id = 219732#c32

尝试将其添加到您的 app/build.gradle

afterEvaluate {
    assembleRelease.doLast {
        android.applicationVariants.all { variant ->
            if (variant.buildType.name == 'release') {
                def releaseBuildTask = tasks.create(name: "release") {
                    println("....................  test   ..............................")
                }
                releaseBuildTask.mustRunAfter variant.assemble
            }
        }
        println "build finished"
    }
}

调用构建命令并指定任务 assembleRelease

invoke the build command and specify the task assembleRelease

./gradlew assembleRelease

这篇关于创建签名包后执行任务的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆