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

posted @ 2022-06-28 17:27  陈晓猛  阅读(6681)  评论(0编辑  收藏  举报