A_003.adb常用命令使用介绍

这篇具有很好参考价值的文章主要介绍了A_003.adb常用命令使用介绍。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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整体架构如下图所示:

A_003.adb常用命令使用介绍,安卓12源码开发定制实战,adb,android,安卓源码开发定制

2.adb常用命令功能说明

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

C:\Users\Qiang>adb devices
List of devices attached
89CX00000       device
89CX11111       device

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

C:\Users\Qiang>adb -s 89CX00000  shell
blueline:/ $
blueline:/ $

(2).adb connect命令

adb connect命令用来通过ip和端口的方式连接到手机设备。在安卓手机中,可以通过开发者选项中的网络ADB调试功能项开启adb 通过wifi来连接手机设备。如下图示我个人手机打开网络adb调试功能情况:
A_003.adb常用命令使用介绍,安卓12源码开发定制实战,adb,android,安卓源码开发定制

图中显示网络调试地址为: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"设备。执行如下:

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

C:\Users\Qiang>adb disconnect 192.168.31.217:5555
disconnected 192.168.31.217:5555

C:\Users\Qiang>adb devices
List of devices attached

(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:\Users\Qiang>adb push E:\TempDir\test.txt  /sdcard/test.txt

C:\Users\Qiang>

(6).adb pull命令

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


C:\Users\Qiang>adb pull   /sdcard/test.txt  E:\TempDir\test007.txt

C:\Users\Qiang>

(7).adb shell命令

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

C:\Users\Qiang>
C:\Users\Qiang>adb shell
OnePlus3:/ # ls
acct       d             init.environ.rc       lost+found       res      ueventd.rc
OnePlus3:/ # pm list packages -3
package:org.mozilla.firefox
OnePlus3:/ #

(8).adb install命令

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

C:\Users\Qiang>adb install E:\TempDir\test.apk
Performing Streamed Install
Success
C:\Users\Qiang>

(9).adb install-multiple命令

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

C:\Users\Qiang>adb install-multiple  "E:\test\config.arm64_v8a.apk" "E:\test\config.armeabi_v7a.apk" "E:\test\test.apk"
Success

C:\Users\Qiang>

(10).adb uninstall命令

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

C:\Users\Qiang>adb uninstall org.mozilla.firefox
Success

C:\Users\Qiang>

(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:\Users\Qiang>adb remount
remount succeeded

C:\Users\Qiang>adb push E:\Downloads\myls  /system/bin/myls
E:\Downloads\myls: 1 file pushed, 0 skipped. 24.7 MB/s (68181 bytes in 0.003s)

C:\Users\Qiang>

(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

(2).dumpsys命令

dumpsys命令用来获取或者修改安卓系统提供的binder服务的信息。可以通过adb shell service list命令来获取当前手机注册的binder服务列表。以下列举几个用法。
获取当前运行的顶层activity信息,执行如下命令:

C:\Users\Qiang>adb shell dumpsys activity |findstr "mResumed"
    mResumedActivity: ActivityRecord{4de5298 u0 com.sohu.inputmethod.sogou/com.sohu.inputmethod.settings.guide.SettingGuideActivity t9}

抓取当前屏幕的fps信息。执行如下命令:

C:\Users\Qiang>adb shell dumpsys SurfaceFlinger |findstr refresh-rate
  refresh-rate              : 60.000002 fps

C:\Users\Qiang>

查看当前电池信息。执行如下命令:

C:\Users\Qiang>adb shell dumpsys battery
Current Battery Service state:
  AC powered: true
  USB powered: false
  Wireless powered: false
  Max charging current: 1500000
  Max charging voltage: 4320000
  Charge counter: 2808681
  status: 2

(3).pm命令

pm命令可以看成Binder服务PackageManagerService的命令行代理端,提供了类似PackageManager的功能。可以通过adb shell pm help查看支持的功能列表。
以下列举一些常用的命令:

APP安装:adb shell pm install /sdcard/test.apk

APP卸载:adb shell pm uninstall com.android.test

删除App缓存:adb shell pm clear com.android.test

查看当前手机安装的App列表:adb shell pm list packages

查看某一个App的安装路径:adb shell pm path com.android.test

(4).am命令

am命令可以看成Binder服务ActivityManagerService的命令行代理端,提供了类似ActivityManager的功能。可以通过adb shell am help查看支持的功能列表。
以下列举一些常用的命令:

启动Activity:adb shell am start -n com.android.test/com.android.test.TestActivity

发送广播:adb shell am broadcast -a com.android.action.TEST

停止App运行:adb shell am force-stop com.android.test

(5).wm命令

wm命令可以看成Binder服务WindowsManagerService的命令行代理端,提供了类似WindowManager的功能。可以通过adb shell wm help查看支持的功能列表。
以下列举一些常用的命令:

获取屏幕分辨率:adb shell wm size

获取屏幕dpi信息:adb shell wm density

禁用屏幕锁:adb shell wm dismiss-keyguard

(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

(7).settings命令

settings命令对应安卓系统中android.provider.Settings类的功能。提供了对系统中设置数据库信息的获取和修改。
可以通过adb shell settings help查看支持的功能列表。以下列举几个例子说明:

查看system数据库的信息:

blueline:/ $ settings list system
accelerometer_rotation=0
alarm_alert=content://media/internal/audio/media/27?title=Bright%20Morning&canonical=1
alarm_alert_set=1
dim_screen=1
dtmf_tone=1
dtmf_tone_type=0
end_button_behavior=2
font_scale=1.0
haptic_feedback_enabled=1
hearing_aid=0

查看和修改屏幕息屏时间:

blueline:/ $ settings get   system  screen_off_timeout
30000
255|blueline:/ $ settings  put   system  screen_off_timeout  300000
blueline:/ $ settings get   system  screen_off_timeout
300000
blueline:/ $

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

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

关闭当前selinux:adb shell setenforce 0

打开selinux:adb shell setenforce 1

00
255|blueline:/ $ settings put system screen_off_timeout 300000
blueline:/ $ settings get system screen_off_timeout
300000
blueline:/ $文章来源地址https://www.toymoban.com/news/detail-559266.html


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

查看当前手机系统selinux状态命令:**adb shell getenforce**。

关闭当前selinux:**adb shell setenforce 0**。

打开selinux:**adb shell setenforce 1**。

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

到了这里,关于A_003.adb常用命令使用介绍的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 安卓adb命令查看系统文件大小及磁盘使用情况

    现象 今天测试端提出一个问题,桌面无法进入,点HOME键做什么都没用,就是不能进去桌面,但是其他功能比如语音之类的可用。 分析 分析日志发现如下报错: 提示设备存储空间已满,应用在写入日志和做一些文件存储相关的操作异常,导致桌面无法进入。 处理 需要先排查

    2024年02月05日
    浏览(63)
  • 安卓调试|入门扫盲必备adb调试工具介绍、安装使用说明

    欢迎关注「 全栈工程师修炼指南 」公众号 点击 👇  下方卡片  即可关注我哟! 设为 「 星标⭐ 」 每天带你  基础入门  到  进阶实践  再到  放弃学习 ! “    花开堪折直须折,莫待无花空折枝 。   ” 作者主页:[ https://www.weiyigeek.top ]   博客:[ https://blog.weiyigeek.to

    2024年02月06日
    浏览(44)
  • 【SA8295P 源码分析 (二)】12 - HQX Display(OpenWFD)调试命令介绍

    因为一些原因,本文需要移除, 对于已经购买的兄弟,不用担心,不是跑路, 我会继续持续提供技术支持, 有什么模块想学习的,或者有什么问题有疑问的, 请私聊我,我们 +VX 沟通技术问题,一起学习,一起进步 接下来,我一一私聊已经购买的兄弟添加VX,我们继续一起

    2024年02月07日
    浏览(27)
  • Android13 adb input 调试命令使用和源码解析

    目录 一、概述 二、常用命令 2.1 输入文本 2.2 模拟按键 2.3 模拟点击 2.4 模拟滑动 2.5 模拟长按 2.6 模拟滚动 三、进阶用法 3.1 组合按键的用法 3.2 长按power键 3.3 输入中文 3.4 代码模拟发送按键 1. 方法1: 2. 方法2: 3. 方法3: 四、注意事项 五、源码解析 六、总结 好了 本篇作为And

    2024年01月20日
    浏览(48)
  • 安卓adb命令大全

    安卓官方文档:https://developer.android.google.cn/studio/command-line/adb?hl=zh-cn ADB,即 Android Debug Bridge,它是 Android 开发/测试人员不可替代的强大工具,也是 Android 设备玩家的好玩具。 注: 文中有部分命令的支持情况可能与 Android 系统版本及定制 ROM 的实现有关。 基本用法 命令语法

    2024年02月08日
    浏览(52)
  • 【Linux常用命令12】搜索命令及特殊字符的使用

    命令 文件:将标准输出重定向到一个文件中(清空原有文件的数据) 命令 2 文件:将错误输出重定向到一个文件中(清空原有文件的数据) 命令 文件:将标准输出重定向到一个文件中(追加到原有内容的后面) 命令 2 文件:将错误输出重定向到一个文件中(追加到原有内

    2024年02月07日
    浏览(29)
  • ADB命令抓取安卓app日志

    前置:  手机与电脑处于同一网络下 1、电脑安装adb 2、手机打开开发这模式   3、用cmd连接手机--adb devices   4、抓取日志前先清理一下之前的日志         adb logcat - c 5、输入命令---回车         adb logcat -v time C:UsersT58Desktoplog.txt 6、打开app执行操作 7、此时就已经抓取到

    2024年02月16日
    浏览(31)
  • 安卓设备连接电脑进行adb命令操作

    连接方式 : 数据线连接: 1)手机需通过数据线连接电脑; 2)手机调出开发者选项;手机操作步骤:设置——系统——关于手机(平板电脑)——连接点击版本号(5次或7次,提示已开启开发者模式)——返回上一层——进入开发者选项——开启USB调试; 3)手机提示选择

    2024年02月16日
    浏览(35)
  • adb wifi 远程调试 安卓手机 命令

    使用adb wifi 模式调试需要满足以下前提条件: 手机 和 PC 需要在同一局域网下。 手机需要开启开发者模式,然后打开 USB 调试模式。 具体操作步骤如下: 将安卓手机通过 USB 线连接到 PC。(连接的时候,会弹出请求,同意就可以) 在 PC 的命令行窗口中输入下面命令查看安卓

    2024年01月16日
    浏览(44)
  • adb 清理内存_adb 常用的命令

    说到 ADB 大家应该都不陌生,即 Android Debug Bridge,Android调试桥,身为 Android 开发的我们,熟练使用 ADB 命令将会大大提升我们的开发效率, ADB 的命令有很多,今天就来总结下我在开发常用到的一些 ADB 命令。 查看版本 ADB 的安装这里就不多说了,输入以下命令有如下提示就证

    2024年02月05日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包