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

本文涉及的产品
阿里云百炼推荐规格 ADB PostgreSQL,4核16GB 100GB 1个月
简介: 转载请标明出处: 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撸一遍。



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

相关实践学习
阿里云百炼xAnalyticDB PostgreSQL构建AIGC应用
通过该实验体验在阿里云百炼中构建企业专属知识库构建及应用全流程。同时体验使用ADB-PG向量检索引擎提供专属安全存储,保障企业数据隐私安全。
AnalyticDB PostgreSQL 企业智能数据中台:一站式管理数据服务资产
企业在数据仓库之上可构建丰富的数据服务用以支持数据应用及业务场景;ADB PG推出全新企业智能数据平台,用以帮助用户一站式的管理企业数据服务资产,包括创建, 管理,探索, 监控等; 助力企业在现有平台之上快速构建起数据服务资产体系
相关文章
|
22天前
|
安全 网络安全 Android开发
安卓与iOS开发:选择的艺术网络安全与信息安全:漏洞、加密与意识的交织
【8月更文挑战第20天】在数字时代,安卓和iOS两大平台如同两座巍峨的山峰,分别占据着移动互联网的半壁江山。它们各自拥有独特的魅力和优势,吸引着无数开发者投身其中。本文将探讨这两个平台的特点、优势以及它们在移动应用开发中的地位,帮助读者更好地理解这两个平台的差异,并为那些正在面临选择的开发者提供一些启示。
113 56
|
30天前
|
Java 开发工具 Maven
Flutter和Android中覆盖gradle中的repositories仓库地址
Flutter和Android中覆盖gradle中的repositories仓库地址
81 4
|
13天前
|
安全 网络安全 Android开发
探索安卓开发之旅:从新手到专家网络安全与信息安全:防范网络威胁,保护数据安全
【8月更文挑战第29天】在这篇技术性文章中,我们将踏上一段激动人心的旅程,探索安卓开发的世界。无论你是刚开始接触编程的新手,还是希望提升技能的资深开发者,这篇文章都将为你提供宝贵的知识和指导。我们将从基础概念入手,逐步深入到安卓开发的高级主题,包括UI设计、数据存储、网络通信等方面。通过阅读本文,你将获得一个全面的安卓开发知识体系,并学会如何将这些知识应用到实际项目中。让我们一起开启这段探索之旅吧!
|
21天前
|
Java Android开发 Kotlin
Android项目架构设计问题之要在Glide库中加载网络图片到ImageView如何解决
Android项目架构设计问题之要在Glide库中加载网络图片到ImageView如何解决
23 0
|
21天前
|
Java Android开发 开发者
Android项目架构设计问题之使用Retrofit2作为网络库如何解决
Android项目架构设计问题之使用Retrofit2作为网络库如何解决
29 0
|
2月前
|
网络协议 网络架构
彻底弄懂ip掩码中的网络地址、广播地址、主机地址
彻底弄懂ip掩码中的网络地址、广播地址、主机地址
119 0
|
3月前
|
缓存 网络协议 安全
Android网络面试题之Http基础和Http1.0的特点
**HTTP基础:GET和POST关键差异在于参数传递方式(GET在URL,POST在请求体),安全性(POST更安全),数据大小限制(POST无限制,GET有限制),速度(GET较快)及用途(GET用于获取,POST用于提交)。面试中常强调POST的安全性、数据量、数据类型支持及速度。HTTP 1.0引入了POST和HEAD方法,支持多种数据格式和缓存,但每个请求需新建TCP连接。**
40 5
|
3月前
|
缓存 JSON 网络协议
Android面试题:App性能优化之电量优化和网络优化
这篇文章讨论了Android应用的电量和网络优化。电量优化涉及Doze和Standby模式,其中应用可能需要通过用户白名单或电池广播来适应限制。Battery Historian和Android Studio的Energy Profile是电量分析工具。建议减少不必要的操作,延迟非关键任务,合并网络请求。网络优化包括HTTPDNS减少DNS解析延迟,Keep-Alive复用连接,HTTP/2实现多路复用,以及使用protobuf和gzip压缩数据。其他策略如使用WebP图像格式,按网络质量提供不同分辨率的图片,以及启用HTTP缓存也是有效手段。
64 9
|
3月前
|
安全 网络协议 算法
Android网络基础面试题之HTTPS的工作流程和原理
HTTPS简述 HTTPS基于TCP 443端口,通过CA证书确保服务器身份,使用DH算法协商对称密钥进行加密通信。流程包括TCP握手、证书验证(公钥解密,哈希对比)和数据加密传输(随机数加密,预主密钥,对称加密)。特点是安全但慢,易受特定攻击,且依赖可信的CA。每次请求可能复用Session ID以减少握手。
45 2
|
3月前
|
缓存 网络协议 Android开发
Android网络面试题之Http1.1和Http2.0
HTTP/1.1 引入持久连接和管道机制提升效率,支持分块传输编码和更多请求方式如PUT、PATCH。Host字段指定服务器域名,RANGE用于断点续传。HTTP/2变为二进制协议,实现多工处理,头信息压缩和服务器推送,减少延迟并优化资源加载。HTTP不断发展,从早期的简单传输到后来的高效交互。
41 0
Android网络面试题之Http1.1和Http2.0