Android adb连接调试app报错handshake failed - connection prematurally closed

博客讲述了在安卓逆向调试过程中遇到的错误:无法打开调试端口,握手失败,连接过早关闭。作者通过检查adb forward命令的端口号和进程号,发现将进程号误填为端口号。解决问题的关键是确保填写正确的安卓进程号,这可以在Android Device Monitor中查看。最终,修正进程号后成功解决了问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

逆向调试安卓时报如下错误,但是以前是可以调试的
Unable to open debugger port (localhost:8700): java.io.IOException "handshake failed - connection prematurally closed"

原文意思:意思打开dubug端口失败:握手失败,连接过早关闭

查询资料后解决过程如下:

检查adb forward tcp:xxxx端口 jdwp:yyyy 的端口号和进程号否正确

注意jdwp协议下yyyy是安卓运行的进程号,不是端口号。

adb shell ps|grep yyyy 看进程号是否存在。

然后发现进程号不存在,原来是把进程号填成端口号了,修改为正确的进程号问题解决。

刚开始以为是adb问题,重启了电脑还是不行;后来查阅资料说安卓jdwp进程没起来,但是发现jdwp进程和应用进程本机是同一个可能安卓版本不一样;字面理解也不能知道是什么原因有时也误导人;其实就是应用的进程号填得不对,或者安卓进程没起来导致这个问题。

应用进程号在android devices monitor,看到是online那列下面对应的值。

  chatgpt免费体验:http://www.chat136.com

chatgpt学习:http://me.chat136.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值