V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
imtianx
V2EX  ›  Android

有没有什么好的方案可以做到远程 debug 别人手机上安装的自己的软件。

  •  
  •   imtianx · 2021-08-10 18:36:01 +08:00 · 4296 次点击
    这是一个创建于 962 天前的主题,其中的信息可能已经有所发展或是发生改变。

    像在局域网可以通过端口转发,WiFi 连接调试一样,实时连接远程外网手机。

    9 条回复    2021-08-11 19:45:46 +08:00
    imtianx
        1
    imtianx  
    OP
       2021-08-10 18:37:47 +08:00
    反编译看过 meto.js 那个客户端的,实现上应该没啥问题。不知道有没有别的方案。
    yitingbai
        2
    yitingbai  
       2021-08-10 18:46:23 +08:00
    内网穿透呗
    join
        3
    join  
       2021-08-10 18:56:27 +08:00 via iPhone
    记录好 log,远程是非常不专业的做法。
    Tianao
        4
    Tianao  
       2021-08-10 20:03:51 +08:00 via iPhone
    @join #3 +1
    sahooz
        5
    sahooz  
       2021-08-10 23:36:22 +08:00
    这个理论上是可以的,之前还专门研究过一小阶段,参考了美团的方案,把 Java 调试传输模式设置为 kJdwpTransportSocket,通过 socket 转发调试指令和回复信息。不过后来因为时间问题和投入产出方面的考虑放弃了,当时写的一个小 demo: https://github.com/sahooz/AndroidRemoteDebug
    sahooz
        6
    sahooz  
       2021-08-10 23:37:55 +08:00 via Android
    专业不专业的不重要,解决问题最重要,尤其是 to b 的应用
    aguesuka
        7
    aguesuka  
       2021-08-11 12:24:38 +08:00
    Java 程序在启动时加上这个参数 -agentlib:jdwt=transport=dt_socket,address=127.0.0.1:55955,suspend=y,server=n 代表可以向这个端口发送 debug 命令. 如果客户的手机可以这样用新进程 debug 启动应用的话, 那就可以调试.其它语言也类似.

    但感觉这是个 XY 问题, 也许远程调试并不是你原始问题的最佳解决方案.
    imtianx
        8
    imtianx  
    OP
       2021-08-11 15:39:43 +08:00
    首先说一下,我的应用是一个 xposed 模块,客户经常有一些奇怪的问题,手机寄过来都是无法复现的,才想着能不能远程 debug,
    zxjunz
        9
    zxjunz  
       2021-08-11 19:45:46 +08:00
    内网穿透就行了,以前和一个老哥试过,可以用
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2669 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 40ms · UTC 15:19 · PVG 23:19 · LAX 08:19 · JFK 11:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.