imtianx
V2EX  ›  Android

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

  •  
  •   imtianx · Aug 10, 2021 · 13390 views
    This topic created in 1768 days ago, the information mentioned may be changed or developed.

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

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

    但感觉这是个 XY 问题, 也许远程调试并不是你原始问题的最佳解决方案.
    imtianx
        8
    imtianx  
    OP
       Aug 11, 2021
    首先说一下,我的应用是一个 xposed 模块,客户经常有一些奇怪的问题,手机寄过来都是无法复现的,才想着能不能远程 debug,
    zxjunz
        9
    zxjunz  
       Aug 11, 2021
    内网穿透就行了,以前和一个老哥试过,可以用
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2640 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 52ms · UTC 01:46 · PVG 09:46 · LAX 18:46 · JFK 21:46
    ♥ Do have faith in what you're doing.