adb命令集合

关机命令

adb shell reboot -p
adb shell svc power shutdown

重启命令

adb reboot
adb reboot recovery
adb reboot bootloader     //重启到bootloader,即刷机模式

恢复出厂设置

adb shell am broadcast -a android.intent.action.MASTER_CLEAR

启动 Activity

adb shell am start -n com.google.android.setupwizard/com.google.android.setupwizard.WalledGardenActivity

查看手机中安装的所有apk的包名

adb shell pm list packages [-f] [-d] [-e] [-s] [-3] [-i] [-u] [--user USER_ID] [FILTER]
无   所有应用
-f  显示应用关联的 apk 文件
-d  只显示 disabled 的应用
-e  只显示 enabled 的应用
-s  只显示系统应用
-3  只显示第三方应用
-i  显示应用的 installer
-u  包含已卸载应用
    包名包含  字符串

保存读取SettingsProvider中的值

adb shell settings put global device_provisioned 0
adb shell settings get global device_provisioned

通过命令行输入字符串

adb shell input text "helloworld"

通过adb命令直接操作sqlite3数据库

adb shell sqlite3 /data/data/com.android.launcher3/databases/launcher.db "select * from favorites;"
adb shell sqlite3 /data/data/com.android.launcher3/databases/launcher.db ".dump" > sql.txt

通过adb命令快速查看关机动画

adb shell setprop ctl.start bootanim
adb shell setprop ctl.stop bootanim

Monkey测试

adb shell monkey -s 6516 --throttle 200 --ignore-crashes --ignore-timeouts --ignore-security-exceptions -v 20000000 > result.txt

通过包名查看apk安装路径

adb shell pm path com.android.launcher3

输入:

package:/system/priv-app/Launcher3Go/Launcher3Go.apk

查看IMEI码

adb shell service call iphonesubinfo 1

查看手机型号

adb shell getprop ro.product.model

查看Android系统版本

adb shell getprop ro.build.version.release

清除应用数据与缓存

adb shell pm clear 

wm(WindowManager)

查看设备分辨率
adb shell wm size

修改屏幕密度为240dpi
adb shell wm density 240

重置屏幕密度为默认密度
adb shell wm density reset

截屏

adb shell exec-out screencap -p > sc.png

录屏

adb shell screenrecord /sdcard/demo.mp4 

在指定设备上安装apk

adb -s 设备名称 install xxx.apk

SeLinux相关

查看selinux权限 enforcing permissive
adb shell getenforce
设置为permissive 如果为1则为enforcing
adb shell setenforce 0

Logcat相关

adb logcat -f /sdcard/aaa.txt   //将log输出到手机sdcard下的aaa.txt文件中
adb logcat -v time>log.txt //打印时间信息的log
adb logcat -v process/tag/thread/raw/time/long //设置日志输出格式控制字段
adb logcat -f /sdcard/aaa.txt //将log输出到手机sdcard下的aaa.txt文件中
adb logcat -c && adb logcat //logcat 有缓存,如果仅需要查看当前开始的 log,需要清空之前的
adb logcat -b events/main/crash/radio/all //加载一个可使用的日志缓冲区供查看
adb bugreport > xxx.log

打印xys标签log adb logcat -s xys
打印192.168.56.101:5555设备里的xys标签log adb -s 192.168.56.101:5555 logcat -s xys
打印在ActivityManager标签里包含start的日志 adb logcat -s ActivityManager | findstr "START"-s”选项 : 设置输出日志的标签, 只显示该标签的日志;
“-f”选项 : 将日志输出到文件, 默认输出到标准输出流中, -f 参数执行不成功;
“-r”选项 : 按照每千字节输出日志, 需要 -f 参数, 不过这个命令没有执行成功;
“-n”选项 : 设置日志输出的最大数目, 需要 -r 参数, 这个执行 感觉 跟 adb logcat 效果一样;
“-v”选项 : 设置日志的输出格式, 注意只能设置一项;
“-c”选项 : 清空所有的日志缓存信息;
“-d”选项 : 将缓存的日志输出到屏幕上, 并且不会阻塞;
“-t”选项 : 输出最近的几行日志, 输出完退出, 不阻塞;
“-g”选项 : 查看日志缓冲区信息;
“-b”选项 : 加载一个日志缓冲区, 默认是 main, 下面详解;
“-B”选项 : 以二进制形式输出日志;

dumpsys

adb shell dumpsys window displays |head -n 5
adb shell dumpsys meminfo 显示内存信息
adb shell dumpsys cpuinfo 显示CPU信息
adb shell dumpsys account 显示accounts信息
adb shell dumpsys activity 显示所有的activities的信息
adb shell dumpsys window 显示键盘,窗口和它们的关系
adb shell dumpsys wifi 显示wifi信息
adb shell dumpsys power 查看Power信息

获取CPU信息

adb shell cat /proc/cpuinfo

查看wifi密码

adb shell cat /data/misc/wifi/*.conf

设置显示区域

四个数字分别表示距离左、上、右、下边缘的留白像素,以上命令表示将屏幕底部 200px 留白。
adb shell wm overscan 0,0,0,200
恢复
adb shell wm overscan reset

关闭USB调试模式

adb shell settings put global adb_enabled 0

允许/禁止访问非 SDK API

允许
adb shell settings put global hidden_api_policy_pre_p_apps 1
adb shell settings put global hidden_api_policy_p_apps 1
禁止
adb shell settings delete global hidden_api_policy_pre_p_apps
adb shell settings delete global hidden_api_policy_p_apps

0:禁止检测非 SDK 接口的调用。该情况下,日志记录功能被禁用,并且令 strict mode API,即 detectNonSdkApiUsage() 无效。不推荐。
1:仅警告——允许访问所有非 SDK 接口,但保留日志中的警告信息,可继续使用 strick mode API。
2:禁止调用深灰名单和黑名单中的接口。
3:禁止调用黑名单中的接口,但允许调用深灰名单中的接口。

状态栏和导航栏的显示隐藏

adb shell settings put global policy_control 
adb shell settings put global policy_control immersive.full=*
隐藏
adb shell settings delete global policy_control

打开关闭wifi

adb shell svc wifi enable
adb shell svc wifi disable

通过 sideload 更新系统

进入recovery模式
adb reboot recovery

在recovery界面上选择
Apply update-Apply from ADB

通过sideload上传ota包
adb sideload to-update.zip>

启用/禁用 dm_verity

adb enable-verity
adb disable-verity

查看实时资源占用情况

adb shell top

查看节点信息

查看节点值,例如:cat /sys/class/leds/lcd-backlight/brightness
修改节点值,例如:echo 128 > sys/class/leds/lcd-backlight/brightness

LPM:       echo N > /sys/modue/lpm_levels/parameters/sleep_disabled
亮度:      /sys/class/leds/lcd-backlight/brightness
CPU:       /sys/devices/system/cpu/cpu0/cpufreq
GPU:       /sys/class/ kgsl/kgsl-3d0/gpuclk
限频:      cat /data/pmlist.config
电流:      cat /sys/class/power_supply/battery/current_now
查看Power: dumpsys power
WIFI:      data/misc/wifi/wpa_supplicant.conf
持有wake_lock: echo a> sys/power/wake_lock
释放wake_lock:echo a> sys/power/wake_unlock
查看Wakeup_source: cat sys/kernel/debug/wakeup_sources
Display(关闭AD):mv /data/misc/display/calib.cfg /data/misc/display/calib.cfg.bak 重启
关闭cabc:echo 0 > /sys/device/virtual/graphics/fb0/cabc_onoff
打开cabc:echo 3 > /sys/device/virtual/graphics/fb0/cabc_onoff
systrace:sdk/tools/monitor
限频:echo /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq 1497600
当出现read-only 且 remount命令不管用时:adb shell mount -o rw,remount /
进入9008模式: adb reboot edl
查看高通gpio:sys/class/private/tlmm 或者 sys/private/tlmm
查看gpio占用情况:sys/kernle/debug/gpio

其他一些常用命令

获取序列号: adb get-serialno
安装apk到sd卡: adb install -s  // 比如:adb install -s baidu.apk
获取机器MAC地址 adb shell cat /sys/class/net/wlan0/address
查看占用内存排序 adb shell top
查看占用内存前6的app:adb shell top -m 6
刷新一次内存信息,然后返回:adb shell top -n 1
查询各进程内存使用情况:adb shell procrank
查看指定进程状态:adb shell ps -x [PID]
查看后台services信息: adb shell service list
查看当前内存占用: adb shell cat /proc/meminfo
查看IO内存分区:adb shell cat /proc/iomem
查看wifi密码:adb shell cat /data/misc/wifi/*.conf
清除log缓存:adb logcat -c
查看bug报告:adb bugreport
跑monkey:adb -s 192.168.244.151:5555 shell monkey -v -p com.bolexim 500

你可能感兴趣的:(android)