在win10中adb shell后面的命令加上" ",就不会报错无法执行了。
如:
使用 grep 来过滤:
adb shell pm list packages | grep qq
然后就报了'grep' 不是内部或外部命令,也不是可运行的程序或批处理文件 ,后来发现根本不是grep问题,
加上" "就可以执行了。adb shell "pm list packages | grep qq"
第一章:获取 package/activity 查看响应时间adb shell "logcat | grep ActivityManager"暂时无效:adb shell logcat |grep start 获取启动的包名和activityadb shell "am start -W -n package/activity" 抓取app的启动时间adb shell "am force-stop package" 直接退出adb shell "input keyevent 3" 退出到后台例子:
热启动时间,指app在后台运行重新调用的时间:
adb shell "am start -W -n com.android.chrome/com.google.android.apps.chrome.Main" 需要package/activityadb shell "input keyevent 3"冷启动时间,指app在开启的重新调用的时间:
adb shell "am start -W -n com.android.chrome/com.google.android.apps.chrome.Main"
adb shell "am force-stop com.android.chrome" 只带包名就行了
第二章CPU状态查看
Usage: top [ -m max_procs ] [ -n iterations ] [ -d delay ] [ -s sort_column ] [ -t ] [ -h ]
-m num Maximum number of processes to display. --最多显示多少个进程 -n num Updates to show before exiting.--刷新次数 -d num Seconds to wait between updates.--刷新时间间隔 -s col Column to sort by (cpu,vss,rss,thr).--按那列排列 -H Show threads instead of processes.--显示线程而不是进程 -h Display this help screen.--显示帮助文档 adb shell "top -m 10 -s cpu -n 1"1) 在adb环境输入:top -m 10 -s cpu# -m 10表示显示数量为10
# -s表示按指定行排序
adb shell "dumpsys cpuinfo | grep package"例子:adb shell "dumpsys cpuinfo | grep com.android.chrome"参数含义:PID : progress identification,应用程序IDS : 进程的状态,其中S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值是负数#THR : 程序当前所用的线程数VSS : Virtual Set Size虚拟耗用内存(包含共享库占用的内存)RSS : Resident Set Size实际使用物理内存(包含共享库占用的内存)PCY : 前台(fg)和后台(bg)进程UID : User Identification,用户身份IDName : 应用程序名称第三章流量
adb shell "ps |grep packagename " 获取进程PIDcat /proc/pid/net/dev例子:adb shell "ps |grep com.android.chrome"adb shell "cat /proc/1115/net/dev"比如像华为的电池管理有相关应用统计流量、电量、占用内存
第四章电量
1.2 改变手机电池状态手机连接到电脑,默认为充电状态
切换手机电池为非充电状态: adb shell dumpsys battery set status 1
1.3. 改变手机电量
让手机电量显示百分百: adb shell dumpsys battery set level 100
让手机电量显示1: adb shell dumpsys battery set level 1获取整个设备的电量消耗信息: adb shell dumpsys batterystats | more
获取某个apk的电量消耗信息: adb shell "dumpsys batterystats com.android.chrome | more"AC powered: false
2 USB powered: true 3 Wireless powered: false 4 status: 1 #电池状态:2:充电状态 ,其他数字为非充电状态 5 health: 2 #电池健康状态:只有数字2表示good 6 present: true #电池是否安装在机身 7 level: 55 #电量: 百分比 8 scale: 100 9 voltage: 3977 #电池电压10 current now: -335232 #电流值,负数表示正在充电11 temperature: 335 #电池温度,单位是0.1摄氏度12 technology: Li-poly #电池种类=第五章内存
adb shell top -d 1 > meminfoadb shell "dumpsys meminfo package_name"参数含义:dalvik : dalvik使用的内存native : native堆上的内存,指C\C++堆的内存(android 3.0以后bitmap就是放在这儿)other : 除了dalvik和native的内存,包含C\C++非堆内存······Pss : 该内存指将共享内存按比例分配到使用了共享内存的进程allocated : 已使用的内存free : 空闲的内存private dirty : 非共享,又不能被换页出去的内存(比如linux系统中为了提高分配内存速度而缓冲的小对象,即使你的进程已经退出,该内存也不会被释放)share dirty : 共享,但有不能被换页出去的内存第六章FPS打开GPUadb shell dumpsys gfxinfo package_name > fps.txt