这篇文章助您玩转ADB命令

这篇文章助您玩转ADB命令前言:adb是什么?:adb的全称为AndroidDebugBridge,就是起到调试桥的作用。通过adb我们可以在Eclipse中方面通过DDMS来调试Android程序,说白了就是debug工具。adb的工作方式比较特殊,采用监听SocketTCP5554等端口的方式让IDE和Qemu通讯,默认情况下adb会daemon相关的网络端口,所以当我们运行Eclipse时adb进程就会自动运行。这篇文章助您玩转ADB命令一、adb的用处二、adb的工作原理三、adb命令大全一、adb的用处a

大家好,又见面了,我是你们的朋友全栈君。

前言: adb是什么?:adb的全称为Android Debug Bridge,就是起到调试桥的作用。通过adb我们可以在Eclipse中方面通过DDMS来调试Android程序,说白了就是debug工具。adb的工作方式比较特殊,采用监听Socket TCP 5554等端口的方式让IDE和Qemu通讯,默认情况下adb会daemon相关的网络端口,所以当我们运行Eclipse时adb进程就会自动运行。

一、adb的用处

adb有什么用?:借助adb工具,我们可以管理设备或手机模拟器的状态。还可以进行很多手机操作,如安装软件、系统升级、运行shell命令等等。其实简而言说,adb就是连接Android手机与PC端的桥梁,可以让用户在电脑上对手机进行全面的操作!

它是一种客户端-服务器程序,包括以下三个组件:

  • 客户端:用于发送命令。客户端在开发机器上运行。您可以通过发出 adb 命令从命令行终端调用客户端。
  • 守护程序 (adbd):用于在设备上运行命令。守护程序在每个设备上作为后台进程运行。
  • 服务器:用于管理客户端与守护程序之间的通信。服务器在开发机器上作为后台进程运行。

二、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 客户端的命令,因此您可以从任意客户端(或从某个脚本)控制任意设备。

三、adb命令大全

adb的命令可以访问:https://developer.android.google.cn/studio/command-line/adb?hl=zh-cn
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/158843.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • SecureCRTPortable SecureCRT上传bash: rz: command not found

    SecureCRTPortable SecureCRT上传bash: rz: command not found-bash:rz:commandnotfoundrz命令没找到?执行sz,同样也没找到。安装lrzsz:#yum-yinstalllrzsz现在就可以正常使用rz、sz命令上传、下载数据了。使用方法:上传文件#rzfilename下载文件#szfilename

    2022年6月3日
    28
  • Mysql5.7版本中数据表字段可用的类型

    Mysql5.7版本中数据表字段可用的类型

    2022年2月17日
    42
  • execute executeupdate_executeupdate不执行

    execute executeupdate_executeupdate不执行增、删、改用executeUpdate()返回值为int型,表示被影响的行数例子查用executeQuery()返回的是一个集合.next()表示指针先下一行,还有first()指向第一行、last()指向最后一行、如果有数据就返回true…

    2022年8月31日
    2
  • 乘法逆元一

    乘法逆元一乘法逆元一导入 分数取模考虑一个式子 x equiv dfrac 1 2 mod 7 即求一个数 x 它与 dfrac 1 2 模 7 的结果相同 称为 x 与 dfrac 1 2 对模 7 同余 分数取模不同于整数取模 但我们仍可以利用模运算的性质解决此题 模运算时两边同乘相同的数 两边仍然同余 所以将两边同乘

    2025年8月14日
    3
  • Android文件系统的结构及目录用途、操作方法 整理「建议收藏」

    Android文件系统的结构及目录用途、操作方法 整理「建议收藏」1、android文件系统的结构android源码编译后得到system.img,ramdisk.img,userdata.img映像文件。其中,ramdisk.img是emulator的文件系统,system.img包括了主要的包、库等文件,userdata.img包括了一些用户数据,emulator加载这3个映像文件后,会把system和userdata分别加载到ram

    2022年10月15日
    2
  • 打开python 报R6034 错误

    打开python 报R6034 错误我只在Python3和python2同时在anaconda3下安装出现的问题,后来移除python2也不起作用,找到了这个方法,解决的问题。6034指的是:”AnapplicationhasmadeanattempttoloadtheCruntimelibraryincorrectly.Pleasecontacttheapplication’ssuppor…

    2025年8月3日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号