Android 如何更改Gradle安装任务

Android 如何更改Gradle安装任务,android,gradle,Android,Gradle,我想编辑名为installDebug的gradle任务。任务(或脚本)位于何处?也许这个脚本位于二进制代码中,我不会改变它吗 真的,我想为adb运行“编辑某些内容”选项。 示例:我的任务必须包含: 运行adb,如“adb connect 192.168.1.2:5555” 直接运行“debugInstall”gradles任务 执行一些操作,例如-adb,然后在我的adb服务器上打开apk 我应该做的是: 如果可能,是否编辑调试任务? 或者编辑build.grade并生成自己的任务脚本?您可以将

我想编辑名为installDebug的gradle任务。任务(或脚本)位于何处?也许这个脚本位于二进制代码中,我不会改变它吗

真的,我想为
adb
运行“编辑某些内容”选项。 示例:我的任务必须包含:

  • 运行adb,如“adb connect 192.168.1.2:5555”
  • 直接运行“debugInstall”gradles任务
  • 执行一些操作,例如-adb,然后在我的adb服务器上打开apk
  • 我应该做的是: 如果可能,是否编辑调试任务?
    或者编辑build.grade并生成自己的任务脚本?

    您可以将任务添加到build.gradle中,并在命令行中调用它。 这就是我所做的:

    任务adbConnect(类型:Exec){
    命令行“adb”、“connect”、“192.168.200.92”
    }


    然后我调用gradle adbConnect connectedCheck,但您可以使用gradle adbConnect debugInstall

    所有任务都位于
    build.gradle
    脚本本身或脚本开头应用的插件中

    据我所知,安卓插件提供了installDebug任务。每个任务都由顺序执行的操作组成。开始的地方

    您可以将任务添加操作扩展到“内部操作”列表末尾的开始处

    因此:


    这里,向installDebug任务添加了两个操作。如果运行
    gradle installDebug
    ,将运行第一个操作,然后是任务本身,最后是定义的第二个操作。一般来说就是这样。

    不,您可以一个接一个地放置多个命令。gradle adbConnect debugInstall将运行adbConnect,然后运行debugInstall。有时我会在第一个命令中添加“clean”。不,这是不可能的。您可以编写一个脚本来执行所有这些命令,然后运行该脚本或以我的答案中单个命令的方式运行多个命令。
    //this piece of code will run *adb connect* in the background
    installDebug.doFirst {
       def processBuilder = new ProcessBuilder(['adb', 'connnect', '192.168.1.2:5555'])
       processBuilder.start()
    }
    
    installDebug.doLast {
       //Do something, like - adb then open apk on my adb server..
    }