adb文件管理指令
1.复制设备里的文件到电脑
adb pull <设备里的文件路径> [电脑上的目录]
电脑上的目录 参数可以省略,默认复制到当前目录
例:
adb pull /data/tsplogtool /home/jxq/文档/场景魔方
2.复制电脑里的文件到设备
adb push <电脑上的文件路径> <设备里的目录>
例:
adb push 1.png /mnt/user/10/emulated/10/Movies
3.列出指定目录的内容adb shell ls [options] <directory>
[options] 显示列表
- 无 列出目录下的所有文件和目录
- -a 列出目录下的所有文件(包括隐藏的)
- -i 列出目录下的所有文件和索引编号
- -s 列出目录下的所有文件和文件大小
- -n 列出目录下的所有文件及其 UID和 GID
- -R 列出目录下的所有子目录中的文件
- 切换到目标目录
adb shell cd <directory>
5.删除文件或目录adb shell rm [options] <files or directory>
[options] 显示列表
- 无 删除文件
- -f 强制删除文件,系统不提示
- -r 强制删除指定目录中的所有文件和子目录
- -d 删除指定目录,即使它是一个非空目录
- -i 交互式删除,删除前提示
- 创建目录
adb shell mkdir [options] <directory-name>
- 无 创建指定目录
- -m 创建指定目录并赋予读写权限
- -p 创建指定目录及其父目录
7.输出当前目录路径adb shell pwd
8.复制文件和目录adb shell cp [options] <source> <dest>
- source:源文件路径
- dest: 目标文件路径
9.移动或重命名文件adb shell mv [options] <source> <dest>
- source:源文件路径
- dest: 目标文件路径
adb查看和查询xxx指令
1.查看日志
Android 的日志分为如下几个优先级(priority):按某级别过滤日志则会将该级别及以上的日志输出
V —— Verbose(最低,输出得最多)
D —— Debug I —— Info
W —— Warning
E —— Error
F—— Fatal
S —— Silent(最高,啥也不输出)
(1)打印日志adb logcat | grep "Exception" --打印仅含"Exception"的日志
adb logcat *:W --打印严重级别W及以上的日志
adb logcat -c && adb logcat -s ActivityManager | grep "Displayed” --客户端程序启动时间获取
adb logcat -s "Tag" --输出指定Tag的日志信息
(2)清空日志adb logcat -c
(3)将日志输出到文件adb logcat > file-path
2.查看四大组件
(1)查看top Activityadb shell dumpsys activity top | grep ACTIVITY
(2)查看前台 Activity命令adb shell dumpsys activity activities | grep mResumedActivity
(3)查看正在运行的 Services命令:adb shell dumpsys activity services [<packagename>]
(4)查看应用详细信息命令:adb shell dumpsys package <packagename>
3.查看设备
(1)内存信息adb shell cat /proc/meminfo
(2)手机系统信息adb shell "cat /system/build.prop | grep "product""
(3)手机系统版本adb shell getprop ro.build.version.release
(4)手机系统api版本adb shell getprop ro.build.version.sdk
(5)手机设备型号adb -d shell getprop ro.product.model
(6)手机厂商名称adb -d shell getprop ro.product.brand
(7)手机存储信息adb shell df
获取手机内部存储信息:
魅族手机: adb shell df /mnt/shell/emulated
其他: adb shell df /data
获取sdcard存储信息:adb shell df /storage/sdcard
(8)手机分辨率adb shell "dumpsys window | grep mUnrestrictedScreen"
(9)手机物理密度adb shell wm density
(9)系统应用adb shell pm list packages -s
(9)系统第三方应用adb shell pm list packages -3
(10)包名包含某字符串的应用
使用 grep 过滤(windows 改用 findstr):adb shell pm list packages | grep jingdong
(11)应用安装路径adb shell pm path <PACKAGE>
4.查看文件
adb shell ls -l
对目录下包含的内容列举出来。
adb shell ls -a /sdcard/Download
显示sdcard路径下的所有文件(包括隐藏的)
5.查看当前界面信息
adb shell dumpsys window:
在dump出来的信息中,mCurrentFocus字段后面就是当前界面的一些信息,如Activity的名称等。
6.查看触摸信息
adb shell getevent:
其中的0035和0036分别对应触摸点的x和y坐标 。输出如下内容:
7.查看系统最近处理过的广播
adb shell dumpsys activity broadcasts
输出内容中可以找到广播的详细信息,如下面这段内容:
这段内容说明系统中最近一次处理的前台广播是“com.chinatsp.test3.TESTDEMO”,这是个有序广播,只有一个接收器在接受这个广播,该接收器位于进程com.chinatsp.test3中
8.列出当前所有activity信息
adb shell dumpsys activity activities
列出当前所有activity信息,其中可以看到堆栈信息,例如下面这段输出内容:
其中列出了其中一个堆栈(stack)中,当前一共有3个task,其中id为39的task中有两个Activity,其中最顶端的Activity是com.chinatsp.test3/.ShuxingActivity
9.查看当前wake_lock信
adb shell dumpsys power | grep -i wake
可以看出,当前是有进程“cn.kuwo.service.MainService”持有wake lock,并且wake lock的类型是PARTIAL_WAKE_LOCK。
10.列出所有service
adb shell dumpsys –l
11.列出当前stack列表信息
adb shell am stack list
adb启动和停止xxx指令
(1)启动应用/ 调起 Activity
adb shell am start [options] <INTENT>
[options] 参数可选:
-a <action>
action --指定 action,比如 android.intent.action.VIEW
-c <category>
category --指定 category,比如 android.intent.category.APP_CONTACTS
-n <component>
component 指定完整 component 名,用于明确指定启动哪个 Activity
[intent]能带数据
--esn <extra-key>
extra-key null 值(只有 key 名)
--ez <extra-key> <extra-boolean-value>
boolean值
--ei <extra-key> <extra-int-value>
integer 值
--el <extra-key> <extra-long-value>
long值
--ef <extra-key> <extra-float-value>
float值
--eu <extra-key> <extra-uri-value>
URI值
--ecn <extra-key> <extra-component-name-value>
component name
--eia <extra-key> <extra-int-value>[,<extra-int-value...]
integer 数组
--ela <extra-key> <extra-long-value>[,<extra-long-value...]
long 数组
例如:
adb shell am start -n com.tencent.mm/.ui.LauncherUI
(2)停止应用
adb shell am force-stop <packagename>
例如:
adb shell am force-stop com.tencent.mm
(3)启动服务adb shell am startservice [options] <intent>
例如:adb shell am startservice -n com.android.systemui/.SystemUIService
(4)停止服务adb shell am stopservice [options] <intent>
(5)启动广播adb shell am broadcast [options] <INTENT>
向所有组件广播 BOOT_COMPLETED:adb shell am broadcast -a android.intent.action.BOOT_COMPLETED
只向 com.android.receiver.test/.BootCompletedReceiver 广播 BOOT_COMPLETED:adb shell am broadcast -a android.intent.action.BOOT_COMPLETED -n com.android.receiver.test/.BootCompletedReceiver
adb连接xxx指令
1、adb tcpip 5555(端口号),给手机打开端口
2、然后电脑手机连同一网段(如开WIFI)
3、adb connect <ip>
adb修改设置指令
修改设置的原理主要是通过 settings 命令修改 /data/data/com.android.providers.settings/databases/settings.db 里存放的设置值。
注: 修改设置之后,运行恢复命令有可能显示仍然不太正常,可以运行 adb reboot
重启设备,或手动重启。
(1)分辨率adb shell wm size 480x1024
(2)恢复原分辨率adb shell wm size reset
(3)屏幕截图
截图保存到电脑:adb exec-out screencap -p > sc.png
截图保存到设备adb shell screencap -p /sdcard/sc.png
录制屏幕:adb shell screenrecord /sdcard/filename.mp4
需要停止时按 Ctrl-C,默认录制时间和最长录制时间都是 180 秒。
(4)模拟硬按键
返回键 :adb shell input keyevent BACK
Home键 :adb shell input keyevent HOME
不同的 keycode 能实现不同的功能
项目 | Value |
---|---|
3 | HOME 键 |
4 | 返回键 |
5 | 打开拨号应用 |
6 | 挂断电话 |
24 | 增加音量 |
25 | 降低音量 |
26 | 电源键 |
27 | 拍照(需要在相机应用里) |
82 | 菜单键 |
85 | 播放/暂停 |
86 停止播放 | |
87 | 播放下一首 |
88 | 播放上一首 |
122 | 移动光标到行首或列表顶部 |
123 | 移动光标到行末或列表底部 |
126 | 恢复播放 |
127 | 暂停播放 |
164 | 静音 |
176 | 打开系统设置 |
187 | 切换应用 |
207 | 打开联系人 |
208 | 打开日历 |
209 | 打开音乐 |
210 | 打开计算器 |
220 | 降低屏幕亮度 |
221 | 提高屏幕亮度 |
223 | 系统休眠 |
224 | 点亮屏幕 |
231 | 打开语音助手 |
276 | 如果没有 wakelock 则让系统休眠 |
adb应用操作指令
(1)安装应用adb install [-l] [-r] [-t] [-s] [-d] [-g] <apk-file>
(2)卸载应用adb uninstall [-k] <package-name>
package-name 表示应用的包名,-k 参数可选,表示卸载应用但保留数据和缓存目录。
(3)清除应用数据与缓存adb shell pm clear <package-name>
adb安全相关指令
(1)启用/禁用 SELinux
启用 SELinuxadb root
adb shell setenforce 1
禁用 SELinuxadb root
adb shell setenforce 0
(2)启用/禁用 dm_verity
启用 dm_verityadb root
adb enable-verity
禁用 dm_verityadb root
adb disable-verity
一些log关键字
1、“System now ready”
说明系统已经准备好,接下来会启动SystemUI,Launcher等系统应用。
2、“Starting SystemUI services for user”
说明正在启动SystemUI中的子Services
3、“ActivityManager: START”
能看到当前启动的是界面是哪个应用的,以及当前界面属于哪个Activity
4、“AndroidRuntime”
有程序crash掉的时候,用这个关键字可以搜出报错信息。
5、“Lowmemorykiller”
因内存不足杀死进程的log
ANR调试分析
1、从log分析
出现ANR时,会有如下log:
从log可以看到发生ANR的进程包名是com.chinatsp.test3,进程号是16275,发生ANR的原因是处理广播的的intent超时
2、从ANR文件分析
如果从log无法定位ANR的位置,那么从ANR文件中可以获得更详细的信息,ANR的文件保存在设备中的位置,如下图所示:
从其中的anr_2020-05-08-02-02-24-980中可以找到com.chinatsp.test3的ANR信息,如下:
一个ANR文件中有多个ANR信息,每个ANR信息都是以如下格式作为开头和结尾的:
由截图所示的ANR信息,可以看到发生ANR的进程号、包名,以及发生ANR的代码的具体位置。
启动和结束adb服务
- adb kill-server:结束 adb 服务
- adb start-server:启动 adb 服务 一般在连接出现异常,使用 adb devices 未正常列出设备,设备状态异常时使用 kill-server,然后运行 start-server 进行重启服务
adb命令打开手机设置页面
- 设置主页面
adb shell am start com.android.settings/com.android.settings.Settings
- 安全
adb shell am start com.android.settings/com.android.settings.SecuritySettings
- 手机无线信息
adb shell am start com.android.settings/com.android.settings.RadioInfo
- 更多页面
com.android.settings.AccessibilitySettings 辅助功能设置
com.android.settings.ActivityPicker 选择活动
com.android.settings.ApnSettings APN设置
com.android.settings.ApplicationSettings 应用程序设置
com.android.settings.BandMode 设置GSM/UMTS波段
com.android.settings.BatteryInfo 电池信息
com.android.settings.DateTimeSettings 日期和坝上旅游网时间设置
com.android.settings.DateTimeSettingsSetupWizard 日期和时间设置
com.android.settings.DevelopmentSettings 开发者设置
com.android.settings.DeviceAdminSettings 设备管理器
com.android.settings.DeviceInfoSettings 关于手机
com.android.settings.Display 显示——设置显示字体大小及预览
com.android.settings.DisplaySettings 显示设置
com.android.settings.DockSettings 底座设置
com.android.settings.IccLockSettings SIM卡锁定设置
com.android.settings.InstalledAppDetails 语言和键盘设置
com.android.settings.LanguageSettings 语言和键盘设置
com.android.settings.LocalePicker 选择手机语言
com.android.settings.LocalePickerInSetupWizard 选择手机语言
com.android.settings.ManageApplications 已下载(安装)软件列表
com.android.settings.MasterClear 恢复出厂设置
com.android.settings.MediaFormat 格式化手机闪存
com.android.settings.PhysicalKeyboardSettings 设置键盘
com.android.settings.PrivacySettings 隐私设置
com.android.settings.ProxySelector 代理设置
com.android.settings.RadioInfo 手机信息
com.android.settings.RunningServices 正在运行的程序(服务)
com.android.settings.SecuritySettings 位置和安全设置
com.android.settings.Settings 系统设置
com.android.settings.SettingsSafetyLegalActivity 安全信息
com.android.settings.SoundSettings 声音设置
com.android.settings.TestingSettings 测试——显示手机信息、电池信息、使用情况统计、Wifi information、服务信息
com.android.settings.TetherSettings 绑定与便携式热点
com.android.settings.TextToSpeechSettings 文字转语音设置
com.android.settings.UsageStats 使用情况统计
com.android.settings.UserDictionarySettings 用户词典
com.android.settings.VoiceInputOutputSettings 语音输入与输出设置
com.android.settings.WirelessSettings 无线和网络设置文章来源:https://www.toymoban.com/news/detail-821969.html
@冯修远文章来源地址https://www.toymoban.com/news/detail-821969.html
到了这里,关于adb指令合集的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!