实用的20条adb命令汇总

1.获取序列号:

adb get-serialno

2.获取机器MAC地址:

adb shell  cat /sys/class/net/wlan0/address

3.保留数据和缓存文件,重新安装apk:

adb install -r <apkfile> //比如:adb install -r baidu.apk

4.安装apk到sd卡:

adb install -s <apkfile> // 比如:adb install -s baidu.apk

5.卸载app但保留数据和缓存文件:

adb uninstall -k <package> //比如:adb uninstall -k com.baidu.search

6.查看设备cpu和内存占用情况:

adb shell top

查看占用内存前6的app:

adb shell top -m 6

刷新一次内存信息,然后返回:

adb shell top -n 1

7.杀死一个进程:

adb shell kill [pid]

查看指定进程状态:重命名文件:

adb shell rename path/oldfilename path/newfilename

adb shell ps -x [PID]

8.查看后台services信息:

adb shell service list

查看当前内存占用:

adb shell cat /proc/meminfo

查看应用的内存使用情况:

adb shell dumpsys meminfo $package_name or $pid

查看servicecs使用细节

adb shell dumpsys activity services

查看activity使用细节

adb shell dumpsys activity

9.adb shell am broadcast [options]

作用:发送一个广播

举例:adb shell am broadcast -a “action_finish” (发送一个广播去关闭一个activity)

举例:adb shell am broadcast -a android.intent.action.MASTER_CLEAR(恢复出厂设置的方法,会清除内存所有内容)

举例:adb shell am broadcast -n com.lt.test/.MyBroadcast

关机重启广播:

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

10.android如何获取通知栏信息

adb shell dumpsys notification

adb shell dumpsys notification | grep tickerText= (获取文本信息)

11.使用adb打开android通知栏(不兼容)

展开

adb shell cmd statusbar expand-notifications

收起

adb shell cmd statusbar collapse

打开通知里更多设置

adb shell cmd statusbar expand-settings

通知栏帮助

adb shell cmd statusbar help

主要用在push自动化里。

adb shell dumpsys statusbar 显示状态栏相关的信息

12.找出状态栏通知的包名:

adb shell dumpsys statusbar | grep notification=Notification

这条命令可以找出状态栏通知的包名,进而找到是哪个应用。

13.电池电量信息

adb shell dumpsys battery

14.禁用自动旋转

adb shell content insert –uri content://settings/system –bind name:s:accelerometer_rotation –bind value:i:0

旋转屏幕

adb shell content insert –uri content://settings/system –bind name:s:user_rotation –bind value:i:1

i后面跟的不同的值代表旋转为不同的方向,取值范围为0,1,2,3

15.adb强制打开“未知来源”

最近发现一个奇怪的问题,手机上的“未知来源”被无故开启了。

查找了半天,发现是pc端的360手机助手干了。

adb shell settings put secure install_non_market_apps 1

即可打开“未知来源”

通过

adb shell settings get secure install_non_market_apps

可以获取状态

0为关闭,1为开启

16.不用root去除5.0的感叹号

adb shell

运行:settings put global captive_portal_server g.cn

17.adb shell settings 控制安卓系统设置

Android4.2的源码android-17\com\android\commands目录下较之前的版本多了一个settings命令,查看其中的SettingsCmd.java文件,末尾有命令的帮助信息:

private static void printUsage() {

System.err.println(“usage:  settings [–user NUM] get namespace key”);

System.err.println(”        settings [–user NUM] put namespace key value”);

System.err.println(“\n’namespace’ is one of {system, secure, global}, case-insensitive”);

System.err.println(“If ‘–user NUM’ is not given, the operations are performed on the owner user.”);

}

选项中的key为什么值,很难从帮助信息中看出,从代码中查看该key值是在android.provider.Settings中定义了。

http://developer.android.com/reference/android/provider/Settings.System.html

该命令可以很方便的更改系统设置中的参数(如修改系统默认输入法),给出几个使用该命令的例子:

#获取系统默认输入法

#默认搜狗输入法

adb shell settings get secure default_input_method

com.sohu.inputmethod.sogouoem/.SogouIME

#默认为Appium使用中文输入时安装的输入法

adb shell settings get secure default_input_method

io.appium.android.ime/.UnicodeIME

#put命令更改默认输入法(将io.appium.android.ime/.UnicodeIME改为com.sohu.inputmethod.sogouoem/.SogouIME)

adb shell settings put secure default_input_method com.sohu.inputmethod.sogouoem/.SogouIME

#获取亮度是否为自动获取

adb shell settings get system screen_brightness_mode

1

#获取当前亮度值

adb shell settings get system screen_brightness

30

#更改亮度值(亮度值在0—255之间)

adb shell settings put system screen_brightness 150

#获取屏幕休眠时间

adb shell settings get system screen_off_timeout

15000

#更改休眠时间,10分钟

adb shell settings put system screen_off_timeout 600000

#获取日期时间选项中通过网络获取时间的状态,1为允许、0为不允许

adb shell settings get global auto_time

1

#更改该状态,从1改为0

adb shell settings put global auto_time 0

以及获取、修改wifi状态(wifi_on)、飞行模式(airlpane_mode_on)等,这里也是appium中getNetworkConnection获得设备网络状态的方法。

18.修改系统时间:

adb shell date -s “yyyymmdd.[[[hh]mm]ss]”

adb shell date -s “20120801.120503”

adb shell

cat /data/property/persist.sys.timezone //时区配置文件

setprop persist.sys.timezone GMT        //修改属性

19.svc命令:管理电源控制,无线数据,WIFI

shell控制手机测试需要root

svc命令,位置在/system/bin目录下,用来管理电源控制,无线数据,WIFI。

源码位置com.android.commands.svc.DataCommand​

C:\Users\Andy>adb shell

#  svc svcAvailable commands:

help     Show information about the subcommands

power    Control the power manager

data     Control mobile data connectivity

wifi     Control the Wi-Fi manager

usb      Control Usb state

# svc power

svc power

Control the power manager

usage: svc power stayon [true|false|usb|ac|wireless]

Set the ‘keep awake while plugged in’ setting.

svc power reboot [reason]

Perform a runtime shutdown and reboot device with specified reason.

svc power shutdown

Perform a runtime shutdown and power off the device.

//设置屏幕的常亮,true保持常亮,false不保持,usb当插入usb时常亮,ac当插入电源时常亮

# svc power stayon true​

关闭/开启数据连接

adb shellsvc data disable/enable​

//设置移动网络的数据优先于WIFI

Set mobile as the preferred data network

adb shell svc wifi prefer

关闭/开启wifi

adb shellsvc wifi disable/enable

//设置WIFI优先于移动网络的数据,一般应设置成这样,除非你刻意使用移动网络数据传输 Set Wi-Fi as the preferred data network

adb shell svc wifi prefer

打赏

发表评论

电子邮件地址不会被公开。 必填项已用*标注