实用的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
我踩故我在,下次还会来!