adb下载和命令
adb下载:
https://adbshell.com/downloads
adb命令:
adb链接设备,设备要开启开发者模式,
一、查看链接的设备:
adb devices
进入该设备的shell环境:
adb -s (设备标识) shell (若只有一台设备,可直接 adb shell)
退出shell环境:
exit
查看应用列表:
查看所有应用列表:adb shell pm list packages
查看系统应用列表:adb shell pm list packages -s
查看第三方应用列表:adb shell pm list packages -3
查看进程:
adb shell ps | grep com.tencent.mtt
获取UID:
.adb shell dumpsys package <packagename> | grep userId
.adb shell cat /proc/<pid>/status | grep Uid
3
这个命令中的关键是 pid,可通过以下命令获取。
adb shell ps | grep <packagename>
二、查取android手机的整体CPU利用率
查看cpu信息:
adb shell cat /proc/cpuinfo
、top命令
adb shell top -n -d 5
、命令分析
-m:最多显示多少个进程
-n:刷新次数
-d:刷新间隔(5s)
-s:按哪列排序
-t:显示线程,而不是进程
3、CPU占用率:User 8%, System 6%, IOW 0%, IRQ 0%
CPU% : 当前瞬时所以使用CPU占用率
S :进程的状态,其中S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值是负数。
adb shell top -n 5 -d 5 | grep com.tencent.mtt
三、安装应用
您可以使用 adb 的 install 命令在模拟器或连接的设备上安装 APK:
adb install path_to_apk
安装apk:
adb install “-lrtsdg” “path_to_apk”
“-lrtsdg”:
-l:将应用安装到保护目录 /mnt/asec;
-r:允许覆盖安装;
-t:允许安装 AndroidManifest.xml 里 application 指定 android:testOnly=“true” 的应用;
-s:将应用安装到 sdcard;
-d:允许降级覆盖安装;
-g:授予所有运行时权限;
path_to_apk:apk的绝对路径。
APP安装-将多个APK推送到一个包的设备上并安装它们
adb install-multiple test.apk test .apk
应用程序安装-将一个或多个包推送到设备上,并以原子方式安装它们。
adb install-multi-package test.apk demo.apk
重新安装现有的应用程序,保存其数据
adb install -r test.apk
允许测试包
adb install -t test.apk
仅可调试器包
adb install -d test.apk
授予应用程序清单中列出的所有权限
adb install -g test.apk
使应用程序作为临时安装应用程序安装。
adb install --instant test.apk
示例安装淘宝apk:adb install -l taobao.apk
卸载apk:
adb shell pm uninstall -k “packagename”
“packagename”:表示应用的包名;
-k 参数可选,表示卸载应用但保留数据和缓存目录。
示例卸载
手机淘宝:
adb shell pm uninstall -k com.taobao.taobao
四、启动apk并获取启动时间
(一)、获取包名和启动名三种方法:
、使用aapt
需要aapt包,可自行百度
.获取包名:
aapt dump badging [path/packagename] | findstr package
以qq音乐为例:
在返回结果中找:
package: name字段为该apk的包名
package: name=‘com.tencent.qqmusic’
.获取启动类名:
aapt dump badging [path/packagename] | findstr launchable-activity
launchable-activity: name字段为该apk的入口
launchable-activity: name=‘com.tencent.qqmusic.activity.AppStarterActivity’
、根据包名获取类名:
adb shell dumpsys package pkgName | grep com.tencent.qqmusic>map.txt
com.tencent.qqmusic.ACTION_START_PLAYSONG.QQMusicPhone
3、手动获取Activity:输入命令后需手动启动app
.adb logcat | find "START"
.adb shell logcat -b events -s am_activity_launch_time
根据包名类名启动
adb shell am start -W packagename/activity 命令 (W大写)
例:
qq音乐:
com.tencent.qqmusic/.activity.AppStarterActivity
adb shell am start -W com.tencent.qqmusic/.activity.AppStarterActivity
参数:
ThisTime:最后一个Activity启动耗时
TotalTime:所有Activity启动耗时(真正的耗时)
WaitTime:AMS启动Activity的总耗时
关闭apk
adb shell am force-stop com.danbo.dan_video
五、获取某个应用的CPU占用情况
、dumpsys cpuinfo命令
输入:dumpsys cpuinfo pid/包名
adb shell dumpsys cpuinfo |grep 7833
adb shell dumpsys cpuinfo com.tencent.mtt
.8%:总的CPU占用率
370:PID
% :在用户中花 %的时间
.8%:在内核中花 .8%时间
六、内存信息
查询内存信息:
adb shell cat /proc/meminfo
可通过两种方式获取:
a.通过 “ dumpsys meminfo 包名/pid ” 命令获取,
输入:
adb shell dumpsys meminfo 300 7
adb shell dumpsys meminfo com.tencent.mtt
b.可直接通过:
adb shell procrank
查看单个应用最大内存限制,输入命令:
adb shell getprop|grep heapgrowthlimit
七、FPS
应用的使用流畅度
Android设备的屏幕刷新率为60帧/s,要保持画面流畅不卡顿,要求每一帧的时间不超过 000/60= 6.6ms
adb shell dumpsys gfxinfo com.tencent.mtt
八、耗电量
试前先看规定时间内手机正常待机下(重启后待机)电量消耗为多少。
然后再启动待测试APP看看消耗的电量增加了多少取差值。
测试方法 :(先关闭所有的应用,再打开被测app)
、清除已有的耗电量数据
adb shell dumpsys batterystats --enable full-wake-history
设备耗电量数据重置
adb shell dumpsys batterystats --reset
、使用adb命令
adb shell dumpsys batterystats com.biquge.ebook.app
3、根据uid获取耗电量数据
获取uid,此uid非彼uid
adb shell ps | findstr packagename
一般第一个u0_a46,去掉_的uid
adb shell dumpsys batterystats com.biquge.ebook.app | findstr u0a46
九、获取进程流量
获取进程ID指令
adb shell ps | grep packageName
检查接收+发送流量
( RECEIVE=接收,TRANSMIT=发送 ; eth0+eth 表各自的网卡,这表示有 个网卡)
命令:
adb shell cat /proc/pid/net/dev
例:
adb shell cat /proc/984/net/dev
十、将文件复制到设备/从设备复制文件
您可以使用 pull 和 push 命令将文件复制到设备或从设备复制文件。
与 install 命令(仅将 APK 文件复制到特定位置)不同,
pull 和 push 命令可让您将任意目录和文件复制到设备中的任何位置。
要从设备复制文件或目录及其子目录,请使用以下命令:
adb pull remote local
要将文件或目录及其子目录复制到设备,请使用以下命令:
adb push local remote
将 local 和 remote 替换为开发机器(本地)和设备(远程)上的目标文件/目录的路径。例如:
adb push foo.txt /sdcard/foo.txt
十一、权限获取
adb获取Android机的所有权限:
adb shell pm list permissions
adb获取Android机的所有隐私权限:Dangerous
adb shell pm list permissions -d -g
获取apk安装需要的权限:
aapt dump permissions QQ音乐.apk
参考原文链接:https://blog.csdn.net/qq_4 895446/article/details/ 08 47988