首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Android studio 有的设备连接不上adb, adb 的工作原理,调用软件包管理器 (pm)

Android studio 有的设备连接不上adb, adb 的工作原理,调用软件包管理器 (pm)

作者头像
zhangjiqun
发布2024-12-16 16:39:19
发布2024-12-16 16:39:19
9110
举报
文章被收录于专栏:计算机工具计算机工具

adb 的工作原理

当您启动某个 adb 客户端时,客户端会先检查是否有 adb 服务器进程正在运行。如果没有,它将启动服务器进程。服务器在启动后会与本地 TCP 端口 5037 绑定,并监听 adb 客户端发出的命令 - 所有 adb 客户端均通过端口 5037 与 adb 服务器通信。

然后,服务器会与所有正在运行的设备建立连接。它通过扫描 5555 到 5585 之间(该范围供前 16 个模拟器使用)的奇数号端口查找模拟器。服务器一旦发现 adb 守护进程 (adbd),便会与相应的端口建立连接。请注意,每个模拟器都使用一对按顺序排列的端口 - 用于控制台连接的偶数号端口和用于 adb 连接的奇数号端口。例如:

模拟器 1,控制台:5554 模拟器 1,adb:5555 模拟器 2,控制台:5556 模拟器 2,adb:5557 依此类推

如上所示,在端口 5555 处与 adb 连接的模拟器与控制台监听端口为 5554 的模拟器是同一个。

服务器与所有设备均建立连接后,您便可以使用 adb 命令访问这些设备。由于服务器管理与设备的连接,并处理来自多个 adb 客户端的命令,因此您可以从任意客户端(或从某个脚本)控制任意设备。

调用软件包管理器 (pm)

官网说明adb:https://developer.android.google.cn/studio/command-line/adb

在 adb shell 中,您可以使用软件包管理器 (pm) 工具发出命令,以对设备上安装的应用软件包执行操作和查询。在 shell 中,语法如下:

代码语言:javascript
复制
    pm command

您也可以直接从 adb 发出软件包管理器命令,无需进入远程 shell。例如:

代码语言:javascript
复制
    adb shell pm uninstall com.example.MyApp
Android studio 有的设备连接不上adb。

网上很多都是端口占用,杀死再重启。或者升级abd版本,其实都不是核心问题。

当你的adb进不去,首先是去调试adb进程杀死再重启 ,不行的话,,换设备看看行不行,别的设备行的话,那核心就是那台不行的设备的驱存在问题。下载原驱动,重新安装,任何设备连接电脑都是有驱动支持的,初次连接 新的设备,在你的电脑右下角转圈圈的东西就是 在安装驱动的,由于你调试了很多设备,可能造成驱动识别混乱。下图就是下载驱动。

呵呵,今天有遇到了,2019.7.23 看图:

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-12-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • adb 的工作原理
    • 调用软件包管理器 (pm)
    • Android studio 有的设备连接不上adb。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档