adb指令合集

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]

[options] 显示列表

  • 无 列出目录下的所有文件和目录
  • -a 列出目录下的所有文件(包括隐藏的)
  • -i 列出目录下的所有文件和索引编号
  • -s 列出目录下的所有文件和文件大小
  • -n 列出目录下的所有文件及其 UID和 GID
  • -R 列出目录下的所有子目录中的文件
  1. 切换到目标目录
    adb shell cd

5.删除文件或目录
adb shell rm [options]

[options] 显示列表

  • 无 删除文件
  • -f 强制删除文件,系统不提示
  • -r 强制删除指定目录中的所有文件和子目录
  • -d 删除指定目录,即使它是一个非空目录
  • -i 交互式删除,删除前提示
  1. 创建目录
    adb shell mkdir [options]
  • 无 创建指定目录
  • -m 创建指定目录并赋予读写权限
  • -p 创建指定目录及其父目录

7.输出当前目录路径
adb shell pwd

8.复制文件和目录
adb shell cp [options]

  • source:源文件路径
  • dest: 目标文件路径

9.移动或重命名文件
adb shell mv [options]

  • 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 Activity
adb shell dumpsys activity top | grep ACTIVITY

(2)查看前台 Activity命令
adb shell dumpsys activity activities | grep mResumedActivity

(3)查看正在运行的 Services命令:
adb shell dumpsys activity services []

(4)查看应用详细信息命令:
adb shell dumpsys package

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

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坐标 。输出如下内容:
adb指令合集

7.查看系统最近处理过的广播

adb shell dumpsys activity broadcasts

输出内容中可以找到广播的详细信息,如下面这段内容:
adb指令合集

这段内容说明系统中最近一次处理的前台广播是“com.chinatsp.test3.TESTDEMO”,这是个有序广播,只有一个接收器在接受这个广播,该接收器位于进程com.chinatsp.test3中

8.列出当前所有activity信息

adb shell dumpsys activity activities

列出当前所有activity信息,其中可以看到堆栈信息,例如下面这段输出内容:
adb指令合集

其中列出了其中一个堆栈(stack)中,当前一共有3个task,其中id为39的task中有两个Activity,其中最顶端的Activity是com.chinatsp.test3/.ShuxingActivity

9.查看当前wake_lock信

adb shell dumpsys power | grep -i wake
adb指令合集

可以看出,当前是有进程“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]

[options] 参数可选:

  • -a

action –指定 action,比如 android.intent.action.VIEW

  • -c

category –指定 category,比如 android.intent.category.APP_CONTACTS

  • -n

component 指定完整 component 名,用于明确指定启动哪个 Activity

[intent]能带数据

  • –esn

extra-key null 值(只有 key 名)

  • –ez

boolean值

  • –ei

integer 值

  • –el

long值

  • –ef

float值

  • –eu

URI值

  • –ecn

component name

  • –eia [,

integer 数组

  • –ela [,

long 数组

例如:

adb shell am start -n com.tencent.mm/.ui.LauncherUI

(2)停止应用

adb shell am force-stop

例如:

adb shell am force-stop com.tencent.mm

(3)启动服务
adb shell am startservice [options]

例如:
adb shell am startservice -n com.android.systemui/.SystemUIService

(4)停止服务
adb shell am stopservice [options]

(5)启动广播
adb shell am broadcast [options]

向所有组件广播 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

adb修改设置指令

修改设置的原理主要是通过 settings 命令修改 /data/data/com.android.providers.settings/databases/settings.db 里存放的设置值。

注: 修改设置之后,运行恢复命令有可能显示仍然不太正常,可以运行 adb reboot 重启设备,或手动重启。

(1)分辨率
adb shell wm size 480×1024

(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]

(2)卸载应用
adb uninstall [-k]

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

(3)清除应用数据与缓存
adb shell pm clear

adb安全相关指令

(1)启用/禁用 SELinux

启用 SELinux
adb root
adb shell setenforce 1

禁用 SELinux
adb root
adb shell setenforce 0

(2)启用/禁用 dm_verity

启用 dm_verity
adb root
adb enable-verity

禁用 dm_verity
adb 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:
adb指令合集

从log可以看到发生ANR的进程包名是com.chinatsp.test3,进程号是16275,发生ANR的原因是处理广播的的intent超时

2、从ANR文件分析

如果从log无法定位ANR的位置,那么从ANR文件中可以获得更详细的信息,ANR的文件保存在设备中的位置,如下图所示:
adb指令合集

从其中的anr_2020-05-08-02-02-24-980中可以找到com.chinatsp.test3的ANR信息,如下:
adb指令合集

一个ANR文件中有多个ANR信息,每个ANR信息都是以如下格式作为开头和结尾的:
adb指令合集

由截图所示的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://net2asp.com/362de9e606.html