开发者社区> 奥特曼超人> 正文

Android AdbCommandRejectedException和cannot bind to套接字地址(协议/网络地址/端口)只允许使用一次

简介: 转载请标明出处: http://blog.csdn.net/DJY1992/article/details/72628622 本文出自:【奥特曼超人的博客】 安装apk时,出现错误: com.
+关注继续查看

转载请标明出处:
http://blog.csdn.net/DJY1992/article/details/72628622
本文出自:【奥特曼超人的博客】



安装apk时,出现错误:

com.Android.ddmlib.AdbCommandRejectedException:device offline
Error while Installing APK

网上百度是有三种方法:

  1. 可以在sdk的文件中找到plattform-tools,到这个文件夹里面去可以找到adb, 双击adb,就可以重新启动了
  2. cmd中,执行两步命令操作: 1、adb kill-server 2、adb start-server
  3. 重启电脑

不过解决无效,这里提供另外一种特殊解法,顺带 了解adb 和 端口占用 的过程。

首先,这里的占用并不是连接的问题,因为androidstudio还可以识别出设备号,只是处于离线或者其它状态,说白点,可以理解为Exception了,这样的话,我们要先结束掉ADB进程和kill掉这个服务,那么当你套接字结束掉的时候,会返回adb无效的错误,如下:

java.net.ConnectException: Connection refused: connect
Error while Installing APK



到这里我们就要运行adb来尝试下是否可以执行,如下图:

奥特曼超人杜锦阳

可以看到提示:

cannot bind to 127.0.0.1:5037: 通常每个套接字地址(协议/网络地址/端口)只允许使用一次。 (10048)



那我们接下来要处理的就是端口问题了, 有的人说我直接重启电脑不就好了?当然也可以,只是我的电脑服务和软件比较多,启动一次很浪费我的时间,这里直接贴处理方案了。

解决步骤分为三大步:

在Terminal窗口或Cmd中输入:

1.查找占用端口

 netstat -aon|findstr 5037

奥特曼超人杜锦阳

2.看端口列表

tasklist /fi "pid eq 7936"

奥特曼超人杜锦阳

3.干掉这个端口占用

taskkill /pid 7936 /f 

奥特曼超人杜锦阳

OK,占用端口没被干掉,我们要找其它办法了,这里我们先用快捷键 《CTRL+ALT+. 》 大法,调出任务管理器,通常情况下,进程下是看不到ID的,这里要查看的话记得选择“查看”-> “选择列” -> “PID” .

一般情况下是这样的,通过PID 找到我们要的 7936 端口,直接右键“结束进程数”+“结束进程” 则可以正常运行了,如果你到这里就解决了,那恭喜你,是正常出现的问题,然而以下碰到的就是非正常的问题。

但是这里发现 7936是adb.exe 强制占用的进程,无法干掉,而 3628 进程又是 AndroidStudio , 我们先关闭 As ,看看是否能干掉它,结果发现还是不行,查找进程发现只剩下adb.exe进程了

奥特曼超人杜锦阳

猜想是底层COM或者实例挂B了。

如果遇到这种百年难得一遇的bug,那还是乖乖重启吧,除非你用WF代码把COM撸一遍。



|| 版权声明:本文为博主杜锦阳原创文章,转载请注明出处。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
命令行下开启与关闭windows防火墙关端口(转)
sc config sharedaccess start= auto //设置防火墙服务为自动 net start sharedaccess //开启防火墙服务   关闭端口 netsh firewall add portopening protocol = TCP port = 139 n...
889 0
【汇编语言/底层开发】7、更灵活的定位内存地址方法
1、[bx+idata] 通常情况下,我们使用ds和[bx]指定内存中的一个内存单元。而[bx+idata]所表示的是一种更加灵活的方式来定位内存地址,其表示的是段地址为DS,偏移地址为(bx)+idata的内存位置。
935 0
在使用蓝牙接口,遇到IOS下正常,Android下不正常的简易处理方法
如果遇到以上的情况怎么办,先确定下在调试的时候是否打开了调试面板, 如果有打开请关闭调试面板看是否还有问题,目前在安卓上打开调试面板是会有影响到蓝牙接口的使用,从之前遇到过这些问题的统计中也确实是因为这个原因
259 0
干货|接口测试必备技能-常见接口协议解析
服务与服务之间传递数据包,往往会因为不同的应用场景,使用不同的通讯协议进行传递。比如网站的访问,常常会使用 HTTP 协议进行传递,文件传输使用 FTP,邮件传递使用 SMTP。上述的三种类型的协议都处于网络模型中的应用层。除了应用层的常用协议之外,对于传输层的 TCP、UDP 协议,以及 Restful 架构风格、RPC 协议等等基础网络知识要有一定的了解和认知。 ## 网络协议介绍 在
27 0
阿里云VPC下Kubernetes的网络地址段
kubernetes地址段划分 在阿里云上创建Kubernetes就能的时候,通常可以选择自动创建专有网络,完全不用操心地址分配的问题。然后事情并非总是真么简单,某些情况下,还是得自己规划ECS地址、Kubernetes Pod地址和Service地址。
4602 0
+关注
奥特曼超人
KARL-Dujinyang-奥特曼超人。作者目前任职于银狐、泡椒游戏公司,曾任职腾为CTO,CSDN技术专家,曾创办过创业go、造梦工厂、米奇云,万能孵化器等,领域涉及逆向安全专家以及全栈工程师,作者目前出书中。
239
文章
7
问答
文章排行榜
最热
最新
相关电子书
更多
OceanBase 入门到实战教程
立即下载
阿里云图数据库GDB,加速开启“图智”未来.ppt
立即下载
实时数仓Hologres技术实战一本通2.0版(下)
立即下载