/AndroidRemoteDebug_TargetApp

为Android app提供基于广域网的远程调试能力

Primary LanguageC

AndroidRemoteDebug_TargetApp

【背景】
偶然读到了美团的一篇文章Android远程调试的探索与实现,感觉比较有意思,就试着自己实现出来。
为了避免重复造轮子,在我动手(2020年9月1日)之前,我在网上并没有搜索到有类似的完整项目,希望它是第一个:)
模块图
主流程各方协作
引入较为严格的端到端的超时机制,只要出现一次超时就结束debug session。因而两端暂时不需要消息重发机制。
本项目是Android(待调试)端demo。设备有限,小米(MIUI 10)和Vivo手机(系统版本不记得了)实测可用。设备只要能上网就可以(移动和wifi都行,不要求各端连接同一局域网)。

Host

作为jdwp debug 端 proxy,负责服务IDE的socket连接以及向DebugServer转发消息。
AndroidStudio调试界面

Android demo app

界面

DebugServer

参考的一些资料和开源项目

前人栽树,后人乘凉。从项目设计到实现,本人有幸能站在各位“巨人”的肩膀上,利用不到一个月的业余时间完成了该项目。非常感谢!

持续迭代

未来目标是让这个项目成为解决问题的一体化工具。不仅可以用于远程调试,还可以收集Android端的各种现场信息用作辅助分析。
Android崩溃收集和处理