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

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的方式安装并调试

相关文章:

  • Java 大视界 -- Java 大数据在智能教育虚拟实验室建设与实验数据分析中的应用(132)
  • leetcode0027 移除元素 - easy
  • 结构体的简单介绍(C语言)
  • 超精密工件小孔几何尺寸测量:自动化解决方案
  • 使用 Python 爬取微店关键词搜索接口(micro.item_search)的完整指南
  • 农业建设项目管理系统评测:8款推荐工具优缺点分析
  • iWebOffice2015 中间件如何在Chrome107及之后的高版本中加载
  • 车载以太网测试-11【网络层-ICMP协议】
  • Java中char取值范围
  • [c语言日寄]字符串进阶:KMP算法
  • ZVA-Z90,罗德与施瓦茨毫米波变换器
  • Pycharm 社区版安装教程
  • 详解数据库范式
  • 【RTSP】客户端(三) 音频相关
  • Markdown Poster – 免费Markdown转图片工具|优雅图文海报制作与社交媒体分享
  • KiB、MiB、KB与MB的区别
  • 各省水资源平台 水资源遥测终端机都用什么协议
  • 海马下载 1.0.2 | 纯净无广告,极简设计,不限速下载工具
  • jmeter分布式原理及实例
  • Mybaties批量操作
  • 媒体:多家国有大行存款利率即将迎来新一轮下调
  • 优质文化资源下基层,上海各区优秀群文团队“文化走亲”
  • AI快速迭代带来知识焦虑,褚君浩院士提出“四维能力模型”
  • 人民日报头版:紧盯“学查改”,推动作风建设走深走实
  • 推开“房间”的门:一部“生命存在的舞台” 史
  • 中国驻美大使:远离故土的子弹库帛书正随民族复兴踏上归途