背景:目前项目中使用flutter混合开发的模式,需要调用原生Android API功能,通过flutter的plugin插件进行桥接调用。
要开发flutter plugin插件原生代码,需要打开flutter工程下的android目录,即:
导入到Android Studio中,由于依赖了大部分plugin,项目结构通过gradle脚本配置,自动识别plugin里的android项目,最终导入到AS的目录结构如下:
需要断点调试Android插件代码,点击
按钮运行,或者attach debugger to Android Process。
遗憾的是,一直无法连接上,终端提示的错误如下:
阻断了我的debug去路……
尝试解决办法:重启Android Studio,重启手机,重启电脑,上面几步都逐一尝试,都不起作用。
最终解决方案:打开attach debugger to android process,选择debugger 指定为java:
之前默认是Auto模式,继续尝试,终于可以连接上了!
如果需要以debug模式运行,需要修改configuration,同样改成Java:
由于flutter混合开发中,引入了阿里的flutter_boost框架,需要debug框架和flutter engine引擎的java代码的调用过程,通过这种方式可以很方便的追踪源码,查看底层实现原理。
类似的debug问题可能并不是所有项目都会出现,默认Debugger为Auto在其他Android项目中可以attach上,这篇文章仅做踩坑记录~