当前位置: 首页 > article >正文

Android Studio执行Run操作报Couldn‘t terminate previous instance of app错误

步骤1、在项目根目录下build.gradle文件最后添加如下内容

//自定义任务名:assembleAndInstall
tasks.register('assembleAndInstall', Exec.class, new Action<Exec>() {
    @Override
    void execute(Exec exec) {
        //设置自定义任务组名
        exec.setGroup('custom task')

        //当前编译是不是release版本
        boolean isBuildRelease = false

        String 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
            //默认选中第一个 tablet
            int index = 1
            exec.dependsOn('app:assemble' + typeList[index] + buildType, 'app:install' + typeList[index] + buildType)
        } else {
            //未定义productFlavors
            exec.dependsOn('app:assemble' + buildType, 'app:install' + buildType)
        }
        //获取当前连接到电脑的设备
        //exec.setCommandLine('adb', 'devices')
        //强制停止apk进程
        //exec.setCommandLine('adb', 'shell', 'am', 'force-stop', 'com.example.myapplication3')
        //启动主Activity
        exec.setCommandLine('adb', 'shell', 'am', 'start', 'com.example.myapplication3/.MainActivity')
    }
})

步骤2、修改代码同时执行该任务,gradle将会自动执行编译,编译完成后会自动将编译出来的apk安装到设备中,如果要调试的话,使用Attach Debugger to Android Process的方式即可

缺点:依旧不可以以Debug的方式安装并调试


http://www.kler.cn/a/585667.html

相关文章:

  • (动态规划 区间dp/dfs 最长回文子序列)leetcode 516
  • MATLAB R2024b 安装教程
  • 深入理解 ALSA 声卡驱动:从理论到实践,解决嵌入式 Linux 声卡无声问题
  • 基于Asp.net的医院病历管理系统
  • 射频相关概念
  • MySQL | MySQL表的增删改查(CRUD)
  • 使用 Swiss Table 如何实现更快的 Go map
  • 大模型高效优化技术全景解析:微调、量化、剪枝、梯度裁剪与蒸馏
  • chmod用法
  • 基于Spring Boot的网上宠物店系统的设计与实现(LW+源码+讲解)
  • 网络安全就业形势
  • C#中多态性核心讲解
  • Linux练级宝典->任务管理和守护进程
  • FlinkCDC3.3 使用 Mysql 8.4 报错
  • LINUX下的tcp协议
  • 大数据技术之Spark优化
  • Prosys OPC UA Gateway:实现 OPC Classic 与 OPC UA 无缝连接
  • 使用OpenCV和MediaPipe库——抽烟检测(姿态监控)
  • go的gmp
  • 使用 Arduino 和 ThingSpeak 通过互联网进行实时温度和湿度监测