0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

adb常用命令的工作原理及使用介绍

哆啦安全 来源:卓码星球 2023-07-24 16:44 次阅读

1.adb工作原理说明

adb命令是调试控制手机过程中用的比较多工具。adb是一个C/S架构的应用程序,主要由三部分组成:

(1)、运行在电脑端的adb client程序

在电脑终端中执行adb --help可以查看当前支持的adb命令。当在命令行执行程序adb相关命令的时候,adb程序尝试连接到主机上的ADB服务器,如果找不到ADB服务器,adb程序自动启动一个ADB服务器。ADB服务器启动之后会和手机设备的adbd后台服务进程建立连接后。adb client就可以向ADB servcer发送服务请求;

(2)、运行在PC端的adb server

ADB Server是运行在主机上的一个后台进程。它的作用在于检测USB端口监听设备的连接和拔除。ADB Server还需要将adb client的请求通过tcp连接方式转发送到对应手机设备的adbd进程上去处理。

(3)、运行在设备端的常驻进程adb daemon

手机系统中的程序adbd作为一个后台进程在Android设备系统中运行。它的作用是连接PC端的ADB服务器,接收PC端ADB 服务转发过来的命令请求并进行处理。比如处理apk 安装和卸载等请求。

adb整体架构如下图所示:

0b21613c-29fe-11ee-a368-dac502259ad0.png

2.adb常用命令功能说明

(1).adb devices命令

adb devices命令列举当前已经连接到当前电脑的手机设备。比如执行如下命令可以看到当前电脑连接的手机设备:

C:UsersQiang>adbdevices

Listofdevicesattached

89CX00000device

89CX11111device

以上命令表示当前电脑有两台手机设备通过数据线连接。当只有一台手机设备的时候,可以直接通过adb 命令连接到手机设备。如果是多台设备的话,需要使用adb -s 设备序列号来指定访问那个设备。比如我需要访问以上列举的设备"89CX00000",可以参考如下:

C:UsersQiang>adb-s89CX00000shell

blueline:/$

blueline:/$

(2).adb connect命令

adb connect命令用来通过ip和端口的方式连接到手机设备。在安卓手机中,可以通过开发者选项中的网络ADB调试功能项开启adb 通过wifi来连接手机设备。如下图示我个人手机打开网络adb调试功能情况:

0b5382e8-29fe-11ee-a368-dac502259ad0.png

图中显示网络调试地址为:192.168.31.217:5555。可以通过adb connect连接到该地址实现adb无线调试该设备的功能。如下所示:

C:\Users\Qiang>adb connect 192.168.31.217:5555
connected to 192.168.31.217:5555

C:\Users\Qiang>adb devices
List of devices attached
192.168.31.217:5555 device

C:\Users\Qiang>adb shell
OnePlus3:/ # id
uid=0(root) gid=0(root) groups=0(root),1004(input),1007(log),1011(adb),1015(sdcard_rw),1028(sdcard_r),3001(net_bt_admin),3002(net_bt),3003(inet),3006(net_bw_stats),3009(readproc),3011(uhid) context=u:r:su:s0
OnePlus3:/ #

(3).adb disconnect命令

adb disconnect命令将会断开adb connect连接的设备。比如断开"192.168.31.217:5555"设备。执行如下:


(4).adb forward命令

adb forward命令用于端口转发,用法为:adb forward 本地端口 手机端口。端口转发主要作用就是将手机端作为server服务器,电脑端作为客户端。通过端口转发,电脑端可以使用转发的端口开发socket程序连接到手机端,然后和手机中的server程序交互。

如果需要取消转发的端口可以执行命令:adb forward --remove 本地端口。 如果需要取消全部转发的端口可以执行:adb forward --remove-all

(5).adb push命令

adb push命令是将PC端的文件放到手机端中。命令用法:adb push 电脑端文件路径 手机端文件路径。比如将PC端的文件放到手机外置卡,可以如下操作:

C:UsersQiang>adbpushE:TempDir est.txt/sdcard/test.txt

C:UsersQiang>

(6).adb pull命令

adb pull命令是将手机端的文件放到PC端中。命令用法:adb pull 手机端文件路径 电脑端文件路径。比如将手机端的文件放到电脑端,可以如下操作:

C:UsersQiang>adbpull/sdcard/test.txtE:TempDir est007.txt

C:UsersQiang>

(7).adb shell命令

adb shell命令功能主要是建立和手机端的终端命令行执行通道。类似Ubuntu系统中的命令行终端。adb shell命令成功之后,当前终端执行上下文变成了手机设备,就可以执行手机端系统提供的各种命令。比如ls、pm、am等命令。如下执行参考:

(8).adb install命令

adb install命令用来在电脑端安装apk到手机端。如下参考执行:

(9).adb install-multiple命令

adb install-multiple可以像adb install命令那样安装单个apk。同时支持安装xapk文件,安装的时候需要将xapk解压,然后传入所有的apk文件。比如需要adb安装test.xapk,首先将test.xapk当成zip包解压。然后使用如下命令安装所有的apk文件:

C:UsersQiang>adbinstall-multiple"E: estconfig.arm64_v8a.apk""E: estconfig.armeabi_v7a.apk""E: est est.apk" Success

C:UsersQiang>

(10).adb uninstall命令

adb uninstall命令用来卸载安装到手机的App应用。比如要卸载手机里面的Firefox应用,先找到该应用的包名为:org.mozilla.firefox。执行如下命令进行卸载:

C:UsersQiang>adbuninstallorg.mozilla.firefox Success

C:UsersQiang>

(11).adb logcat命令

adb logcat命令用来输出手机的运行日志信息,方便调试分析手机系统和App。可以通过adb logcat --help查看更高级的用法。比如清空日志信息执行:adb logcat -c。比如只输出TAG标签WifiClientModeImpl的日志信息,可以执行:adb logcat WifiClientModeImpl:D *:S

(12).adb remount命令

adb remount命令将系统分区挂载为可读写权限。比如一般情况下想把一个文件放到/system目录下面是没有权限的。当adb有root条件下执行adb remount之后,手机系统system分区就被挂载为可读写权限,就可以通过adb push将文件放到system目录里面。如下演示:

C:UsersQiang>adbremount

remountsucceeded

C:UsersQiang>adbpush

E:Downloadsmyls/system/bin/myls E:Downloadsmyls:1filepushed,0skipped.24.7MB/s(68181bytesin0.003s)

C:UsersQiang>

(13).adb reboot命令

adb reboot命令主要是将手机重启到某一个状态。特别是在刷机过程中频繁使用。主要是以下三个状态:

bootloader状态 如果需要线刷手机系统即fastboot方式刷机的时候就需要手机进入bootloader模式,执行:adb reboot bootloader

recovery状态 如果需要卡刷即recovery模式下刷入ota升级包,需要执行:adb reboot recovery。这种情况下刷机需要把刷机包文件放到手机的外置卡/sdcard目录下面。

sideload模式 sideload模式实质也是recovery模式刷机的一种,需要执行:adb reboot sideload。该模式下刷机不需要将刷机包拷贝到手机外置卡。直接在电脑终端执行:adb sideload 刷机包路径

(14).adb sideload命令

adb sideload在recovery模式下刷机使用。当recovery模式情况下开启sideload功能之后,直接在电脑终端执行:adb sideload 刷机包路径完成刷机工作。

(15).adb root命令

adb root命令主要是通知手机中的adbd 以root权限重启运行。执行成功之后adb具备root权限。

(16).adb start-server命令

adb start-server命令表示启动PC端的adb server进程。

(17).adb kill-server命令

adb kill-server命令表示停止PC端运行的adb server进程。

3.安卓手机中常用的命令

安卓手机系统某种意义上来说可以看成一个Linux系统。所以手机系统中存在Linux系统提供的ls、cat、top、ps等命令。除了提供Linux系统绝大部分的命令外,安卓系统还额外提供了许多命令。以下列举一些常用的命令。

(1).属性操作命令getprop/setprop

getprop命令获取当前手机的属性信息。比如获取手机型号可以执行:adb shell getprop ro.product.model

setprop命令用来修改手机系统的属性信息。比如修改属性:adb shell setprop ro.debuggable 0
 


(6).svc命令

svc命令提供了控制power、wifi、usb、bluetooth打开关闭等功能。可以通过adb shell svc help查看支持的功能列表。

以下列举一些常用的命令: 蓝牙打开:adb shell svc bluetooth enable

蓝牙关闭:adb shell svc bluetooth disable Wifi打开:adb shell svc wifi enable

Wifi关闭:adb shell svc wifi disable



(8).selinux状态查看和设置

查看当前手机系统selinux状态命令:

adb shell getenforce

关闭当前selinux:adb shell setenforce 0

打开selinux:adb shell setenforce 1

修改selinux状态需要有root权限才行。





审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 控制器
    +关注

    关注

    112

    文章

    15228

    浏览量

    171204
  • ADB驱动
    +关注

    关注

    0

    文章

    13

    浏览量

    6234
  • Ubuntu系统
    +关注

    关注

    0

    文章

    84

    浏览量

    3785

原文标题:adb常用命令使用介绍

文章出处:【微信号:哆啦安全,微信公众号:哆啦安全】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    UNIX常用命令

    UNIX常用命令
    发表于 08-20 23:29

    MySQL及其常用命令介绍

    MySQL 数据库常用命令
    发表于 04-12 13:19

    windowsxp常用命令

    windowsxp常用命令   winver---------检查windows版本 wmimgmt.msc----打开windows管理体系结构(wmi) wupdmgr-------
    发表于 01-10 09:05 1183次阅读

    嵌入式Linux及常用命令

    嵌入式Linux及常用命令,比较基础,非常实用,适合新手学习。
    发表于 11-24 15:22 2次下载

    Ubuntu常用命令大全

    Ubuntu常用命令大全,包括常用管理目录,系统命令,硬盘相关,内存相关,查看进程等命令
    发表于 01-06 11:16 0次下载

    DOS常用命令宝典

    DOS常用命令宝典,感兴趣的小伙伴们可以瞧一瞧。
    发表于 11-10 18:24 0次下载

    04-shell的常用命令汇总与vim

    shell的常用命令汇总
    发表于 12-17 16:04 0次下载

    vim常用命令

    vim常用命令
    发表于 01-08 15:59 3次下载

    redis常用命令总结

    本文是对redis常用命令总结。
    发表于 02-09 11:25 1441次阅读

    linux常用命令手册

    linux常用命令手册免费下载。
    发表于 06-01 14:59 62次下载

    Memcache系统常用命令讲解

    Memcache系统常用命令讲解(无线电源技术商业计划书)-该文档为Memcache系统常用命令讲解文档,是一份还算不错的参考文档,感兴趣的可以下载看看,,,,,,,,,,,,,,,,
    发表于 09-28 11:27 5次下载
    Memcache系统<b class='flag-5'>常用命令</b>讲解

    linux常用命令大全

    linux常用命令大全,一些常用命令都可以找到
    发表于 03-03 09:20 0次下载

    DOS系统常用命令

    介绍了DOS系统的常用命令
    发表于 03-21 14:59 0次下载

    Linux常用命令

    Linux常用命令
    的头像 发表于 01-12 11:19 874次阅读

    Linux常用命令手册分享

    linux常用命令合集
    发表于 04-26 11:46 1次下载