您的位置:首页 > 新闻 > 热点要闻 > 【Android 笔记】ADB 操作命令总结(持续更新)

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

2024/12/27 5:03:28 来源:https://blog.csdn.net/qq_17470165/article/details/135366764  浏览:    关键词:【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 ACTIVITYACTIVITY com.vst.xnlauncher/.newui.MainNewActivity 2c1ad75 pid=1177ACTIVITY org.qtproject.example.WriteBoard/org.qtproject.qt.android.bindings.QtActivity

3.0.3 修改设备分辨率

adb shell wm size 1920x1080

3.0.4 查看设备分辨率

adb shell wm sizePhysical size: 3840x2160
Override size: 1920x1080Physical size: 设备原先的分辨率
Override size: 当前修改后的分辨率

3.0.5 修改设备屏幕密度

adb shell wm density 160

3.0.6 查看设备屏幕密度

adb shell wm densityPhysical 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/cpuinfoprocessor	: 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/meminfoMemTotal:        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.propro.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 packagespackage:com.google.android.carriersetup
package:com.android.cts.priv.ctsshim
package:com.google.android.ext.services
.....

4.0.1 显示系统中所有应用


adb shell pm list packages -fpackage:/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 -spackage: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 -3package:com.finalwire.aida64
package:org.qtproject.example.WriteBoard.....

4.0.4 显示应用的installer

adb shell pm list packages -3package: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 -upackage: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 ACTIVITYACTIVITY 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 servicesACTIVITY 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.toofifiprocessName=com.android.toofifibaseDir=/system/app/Toofifi/Toofifi.apkdataDir=/data/user/0/com.android.toofifiapp=ProcessRecord{f554e88 3684:com.android.toofifi/1000}allowWhileInUsePermissionInFgs=truerecentCallingPackage=com.android.toofificreateTime=-50m55s508ms startingBgTimeout=-50m40s507mslastActivity=-50m55s507ms restartTime=-50m55s507ms createdFromFg=falsestartRequested=true delayedStop=false stopIfKilled=false callStart=true lastStartId=1

4.1.0 查看应用的详细信息

adb shell dumpsys package <package-name>

持续更新…

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com