【Android 笔记】ADB 操作命令总结(持续更新)

前言


ADB,即 Android Debug Bridge 是一种允许和已连接的 Android 设备进行通信的命令行工具,它可为各种设备操作提供便利,如安装和调试应用,并提供对 Unix shell(可用来在模拟器或连接的设备上运行各种命令)的访问。可以在Android SDK/platform-tools中找到 adb 工具或下载 ADB Kits


ADB语法命令


基本语法:

 adb [-d|-e|-s <serialNumber>] <command.>
  • -d : 指定当前唯一通过 USB 连接的 Android 设备为命令目标
  • -e : 指定当前唯一运行的模拟器为命令目标
  • -s <serialNumber.> 指定相应 serialNumber 号的设备/模拟器为命令目标

如果当前有一个设备连接 ,可以省略掉[-d|-e|-s <serialNumber.>] 这一部分,直接使用 adb <command.>

常用的设备连接方式有两种:

  • 通过USB数据线将电脑和手机进行连接,Android手机将开发者选项-USB调试开关打开
  • 通过网络连接,电脑和Android设备保持在同一网段,Android设备有root权限,设备打开USB调试开关

常用语法


查看本机adb版本信息

adb version

启动/停止adb

adb start-server / adb kill-server

将设备切换到root权限下

adb root

当前已连接的设备

adb devices

1、文件管理


1.0.0 从手机设备上下载指定文件到本地计算机上

adb pull <remote> [local]

remote: 远程设备,如手机、大屏设备
local: 本机设备

例: adb pull /storage/emulated/0/Pictures/screenshot.png  
/Users/ho/Desktop/screenshot.png  


1.0.1 从本机设备文件推送到手机设备上

adb push [local]  <remote> 

例: adb push  /Users/ho/Desktop/screenshot.png  
/storage/emulated/0/Pictures/screenshot.png  
 

1.0.2 列出指定目录下内容

adb shell ls [options] <directory>

<directory>: 指定目录,不写的话获取当前目录下内容

[options] : 可选参数,可以筛选不同条件的内容

 -无  :  列出目录下所有的文件和文件夹
 -a  : 列出目录下的所有文件(包括隐藏的)
 -i  : 列出目录下的所有文件和索引编号
 -s  : 列出目录下的所有文件和文件大小
 -n  : 列出目录下的所有文件及其 UID和 GID
 -R  : 列出目录下的所有子目录中的文件


1.0.3 进入指定目录

adb shell cd  <directory>

例:adb shell cd system/   

1.0.4 删除文件或者文件夹

adb shell rm [options] <files or directory>

[options] : 可选参数,删除的一些操作

 - 无  :  删除文件
 - f  :  列出目录下所有的文件和文件夹
 - r  :  强制删除指定目录中的所有文件和子目录
 - d  :  删除指定目录,即使它是一个非空目录
 - i  :  交互式删除,删除前提示
 

1.0.5 创建目录

adb shell mkdir [options] <directory-name>

[options] : 可选参数,创建目录的一些操作

 - 无  :  创建指定目录
 - m  :  创建指定目录并赋予读写权限
 - p  :  创建指定目录及其父目录

例:adb shell mkdir -m /example/


1.0.6 创建空文件

adb shell touch <file>

例:adb shell touch example.txt


1.0.7 复制文件和目录

adb shell cp <source> <dest>

<source>:源文件目录
<dest>:目标文件目录

例:adb shell cp  /Users/ho/Desktop/screenshot.png  
 /storage/emulated/0/Pictures/

1.0.8 输出当前目录路径


adb shell pwd

例:t7_an400:/system/app $ pwd     

输出:/system/app

1.0.9 移动和重命名文件


adb shell mv [options] <source> <dest>

<source>:源文件目录
<dest>:目标文件目录

例:mv /system/app/WPS_Office/WPS_Office.apk  /data/


2、日志打印


基本语法:

adb logcat [option] [filter-specs]

如果要停止日志打印,按下ctr+c 或者commond + c


2.0.0 按级别过滤日志

adb logcat [filter-specs]

[filter-specs]: 日志过滤级别

*:V  >>  过滤只显示 Verbose 及以上级别(优先级最低)
*:D  >>  过滤只显示 Debug 及以上级别
*:I  >>  过滤只显示 Info 及以上级别
*:W  >>  过滤只显示 Warning 及以上级别
*:E  >>  过滤只显示 Error 及以上级别
*:F  >>  过滤只显示 Fatal 及以上级别
*:S  >>  过滤只显示 Silent 及以上级别(优先级最高,什么也不输出)


2.0.1 按tag和级别过滤日志

adb logcat [tag:level] [tag:level] ....

例:adb logcat MainActivity:D   App:W  *:E

表示只输出 tag MainActivity 的 Debug 以上级别日志,输出 tag App 的 Warning 以上级别日志,及其它 tag 的 Error 级别日志。


2.0.2 清空已存在的日志

adb logcat -c

2.0.3 将日志显示在控制台

adb logcat -d

2.0.4 将日志输出到文件

adb logcat > file_path

例:adb logcat > /Users/ho/Desktop/

2.0.5 打印指定日志缓冲区的大小

adb logcat -G 100M

2.0.6 过滤指定tag的日志

adb logcat grep | tag

例:adb logcat grep | PowerKeyReceiver

3、查看Android系统信息


3.0.0 查看指定属性值


adb shell getprop [options]

例:adb shell getprop persist.sys.swipeleft


3.0.1 设置属性值


adb shell setprop [options] [value]

例:adb shell setprop persist.sys.swipeleft 1

3.0.2 查看系统信息

adb shell dumpsys [options]

# 列出最近使用过的activity栈,按时间从近到远排序
adb shell dumpsys activity
# 查看Activity的相关信息
adb shell dumpsys activity [包名]
# 查看最上层的activity的View布局
adb shell dumpsys activity top


例:adb shell dumpsys activity top | grep ACTIVITY
  ACTIVITY com.vst.xnlauncher/.newui.MainNewActivity 2c1ad75 pid=1177
  ACTIVITY org.qtproject.example.WriteBoard/org.qtproject.qt.android.bindings.QtActivity


3.0.3 修改设备分辨率

adb shell wm size 1920x1080

3.0.4 查看设备分辨率

adb shell wm size

Physical size: 3840x2160
Override size: 1920x1080

Physical size: 设备原先的分辨率
Override size: 当前修改后的分辨率


3.0.5 修改设备屏幕密度

adb shell wm density 160

3.0.6 查看设备屏幕密度

adb shell wm density

Physical density: 480
Override density: 160


3.0.7 查看设备显示屏参数

adb shell dumpsys window displays

3.0.8 查看android_id

adb shell settings get secure  android_id
73f34d0eef311581

3.0.9 查看系统版本

adb shell getprop ro.build.version.release
11

3.1.0 查看mac地址

adb shell cat /sys/class/net/eth0/address
40:e7:93:2e:17:76 

3.1.1 查看设备cpu信息

adb shell cat /proc/cpuinfo

processor	: 0
BogoMIPS	: 48.00
Features	: fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
CPU implementer	: 0x41
CPU architecture: 8
CPU variant	: 0x0
CPU part	: 0xd09
CPU revision	: 2
.....

3.1.2 查看设备内存信息

adb shell cat /proc/meminfo

MemTotal:        8143476 kB
MemFree:         4668636 kB
MemAvailable:    6485660 kB
Buffers:           27684 kB
Cached:          1457424 kB
SwapCached:            0 kB
Active:          1101668 kB
Inactive:        1039864 kB
.....

3.1.3 查看硬件信息

adb shell cat /system/build.prop

ro.build.id=RQ3A.210805.001.A1
ro.build.display.id=vst_newline_q-series
ro.build.version.incremental=eng.chenwe.20231117.154040
ro.build.version.sdk=30
ro.build.version.preview_sdk=0
ro.build.version.preview_sdk_fingerprint=REL
ro.build.version.codename=REL
ro.build.version.all_codenames=REL
ro.build.version.release=11
ro.build.version.release_or_codename=11
ro.build.version.security_patch=2021-08-05
.....

4、应用管理


基本语法:

adb shell pm list packages [-f] [-d] [-e] [-s] [-3] [-i] [-u] 
[--user USER_ID] [FILTER]

 -无  :  列出系统中所有的apk包名
 -f  : 列出apk包名和所对应的路径
 -d  : 只显示disabled应用
 -e  : 只显示enable应用
 -s :  只显示系统应用
 -3 :  只显示3方应用
 -i :  显示应用的 installer
 -u :  包含已卸载应用


4.0.0 显示系统中所有应用


adb shell pm list packages

package:com.google.android.carriersetup
package:com.android.cts.priv.ctsshim
package:com.google.android.ext.services
.....

4.0.1 显示系统中所有应用


adb shell pm list packages -f

package:/system/priv-app/CarrierSetup/CarrierSetup.apk=com.google.android.carriersetup
package:/system/priv-app/CtsShimPrivPrebuilt/CtsShimPrivPrebuilt.apk=com.android.cts.priv.ctsshim
package:/system/priv-app/GoogleExtServices/GoogleExtServices.apk=com.google.android.ext.services

.....


4.0.2 显示系统应用

adb shell pm list packages -s

package:com.google.android.carriersetup
package:com.android.cts.priv.ctsshim
package:com.google.android.ext.services
package:com.google.android.katniss
.....

4.0.3 显示三方应用

adb shell pm list packages -3

package:com.finalwire.aida64
package:org.qtproject.example.WriteBoard

.....

4.0.4 显示应用的installer

adb shell pm list packages -3

package:com.google.android.carriersetup  installer=null
package:com.android.cts.priv.ctsshim  installer=null
package:com.google.android.ext.services  installer=null
package:com.google.android.katniss  installer=null

.....

4.0.4 包含已显示卸载应用

adb shell pm list packages -u

package:com.google.android.carriersetup
package:com.android.cts.priv.ctsshim
package:com.google.android.ext.services
package:com.google.android.katniss

.....


4.0.5 安装apk

 adb install /Users/ho/Desktop/AIDA64.apk 

4.0.6 卸载apk

adb uninstall [-k] <package-name>

<package-name> 表示应用的包名,[-k]参数可选,表示卸载应用但保留数据和缓存目录。

例:adb uninstall com.finalwire.aida64


4.0.7 清除应用数据与缓存

adb shell pm clear <package-name>

例:adb shell pm clear com.finalwire.aida64

4.0.8 查看前台 activity

adb shell dumpsys activity top | grep ACTIVITY

ACTIVITY com.finalwire.aida64/.HHMainActivity e968545 pid=8302
ACTIVITY com.ho.launcher/.app.MoreAppsActivity d67d300 pid=1137
ACTIVITY com.ho.setting/.MainActivity 4b2d6ad pid=14017
.....


4.0.9 查看正在运行的service

adb shell dumpsys activity services

ACTIVITY MANAGER SERVICES (dumpsys activity services)
  User 0 active services:
  * ServiceRecord{a6742d3 u0 com.android.toofifi/com.mphotool.ball.service.PullPlayPermissionService}
    intent={cmp=com.android.toofifi/com.mphotool.ball.service.PullPlayPermissionService}
    packageName=com.android.toofifi
    processName=com.android.toofifi
    baseDir=/system/app/Toofifi/Toofifi.apk
    dataDir=/data/user/0/com.android.toofifi
    app=ProcessRecord{f554e88 3684:com.android.toofifi/1000}
    allowWhileInUsePermissionInFgs=true
    recentCallingPackage=com.android.toofifi
    createTime=-50m55s508ms startingBgTimeout=-50m40s507ms
    lastActivity=-50m55s507ms restartTime=-50m55s507ms createdFromFg=false
    startRequested=true delayedStop=false stopIfKilled=false callStart=true lastStartId=1

4.1.0 查看应用的详细信息

adb shell dumpsys package <package-name>


持续更新…

  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值