美文网首页Flutter知识库
Android Studio同时Debug 原生代码和Dart代

Android Studio同时Debug 原生代码和Dart代

作者: IT_xiao小巫 | 来源:发表于2020-04-20 21:32 被阅读0次

    前言

    目前我们工程采用的是Add-to-app的方式接入Flutter,这种方式就是以源码方式集成,对工程有一定侵入性,需要单独托管module工程,如果要实现持续集成还得依赖Flutter环境,进行改造会带来一定成本。但是它也有大大的好处,以module方式管理,开发过程会比较透明,能够使用亚秒级的热重载的能力,提升开发效率。

    遇到问题

    正常来说在原生工程嵌入Flutter,说明既包含Android相关的代码(Java或者Kotlin)又包含Dart的代码,那这里就会有个问题,怎么同时调试?

    目前我们用的IDE是Android Studio,我们在开发的过程中就发现有这个问题,发现IDE引入Flutter插件之后就找不到Attach debugger to Android process

    Attach debugger to Android process
    会变成带Flutter的icon: Flutter Attach
    这就非常尴尬,没法做到同时调试Android代码和Dart代码。国外的开发者也同样遇到这个问题,我查到相关的issue:https://github.com/flutter/flutter-intellij/issues/4458 在这里插入图片描述

    看issue大概知道把Attach Debugger这个按钮给隐藏掉了,后面会把它加回来。好家伙,要等到啥时候呢,不能Debug原生代码那就变得很鸡肋了啊。那有没有其他办法能帮助我们实现这个诉求呢,答案肯定是有的,下面就是解决方案。

    解决方案

    在我Google了一圈没找到好的办法,我在IDE搜了下快捷键,看能不能通过快捷键调出以前Debug的窗口,还真被我找到了解决办法:

    Attach

    漂亮,虽然按钮被隐藏掉了不可用,但可以设置快捷键来调出Debug窗口:

    在这里插入图片描述

    这样我们可以愉快的调试原生代码和Dart代码了。

    最后

    本篇是一个小技巧,在官方没更新插件解决这个问题之前,我们可以按照这种方式解决问题。本来以为这个问题没办法解决,后面还是多尝试了下,办法总比问题多,快捷键是个好东西,活用快捷键能够帮助我们提升编码效率。下一篇我会分享Flutter构建物分析,让大家更全面认识混编过程中需要注意的问题,怎么解决armeabi架构体系下的问题,可以期待一下。

    相关文章

      网友评论

        本文标题:Android Studio同时Debug 原生代码和Dart代

        本文链接:https://www.haomeiwen.com/subject/bkdsihtx.html