步骤1、在项目根目录下build.gradle文件最后添加如下内容
//自定义任务名:assembleAndInstall
tasks.register('assembleAndInstall', Exec.class, new Action<Exec>() {@Overridevoid execute(Exec exec) {//设置自定义任务组名exec.setGroup('custom task')//当前编译是不是release版本boolean isBuildRelease = falseString buildType = 'Debug'if (isBuildRelease) {buildType = 'Release'}List<String> typeList = new ArrayList<>()for (final def aaa in project(':app').android.productFlavors) {String name = aaa['name']typeList.add(new String(name.charAt(0)).toUpperCase() + name.substring(1))}println 'typeList: ' + typeList.size()println 'typeList: ' + typeList//设置依赖的任务if (typeList.size() > 0) {//假设定义了两个 productFlavors,一个 phone,一个 tablet//默认选中第一个 tabletint index = 1exec.dependsOn('app:assemble' + typeList[index] + buildType, 'app:install' + typeList[index] + buildType)} else {//未定义productFlavorsexec.dependsOn('app:assemble' + buildType, 'app:install' + buildType)}//获取当前连接到电脑的设备//exec.setCommandLine('adb', 'devices')//强制停止apk进程//exec.setCommandLine('adb', 'shell', 'am', 'force-stop', 'com.example.myapplication3')//启动主Activityexec.setCommandLine('adb', 'shell', 'am', 'start', 'com.example.myapplication3/.MainActivity')}
})
步骤2、修改代码同时执行该任务,gradle将会自动执行编译,编译完成后会自动将编译出来的apk安装到设备中,如果要调试的话,使用Attach Debugger to Android Process的方式即可
缺点:依旧不可以以Debug的方式安装并调试