ADB命令
ADB简介
ADB全名Andorid Debug Bridge。 是一个Debug工具。为何称之为Bridge呢?
因为adb是一个标准的C/S结构的工具, 是要连接开发电脑和调试手机的
包含如下几个部分:
1.Client端,运行在开发机器中,即你的开发PC机。用来发送adb命令。
2.Daemon守护进程, 运行在调试设备中, 即的调试手机或模拟器。
3.Server端, 作为一个后台进程运行在开发机器中, 即你的开发PC机. 用来管理PC中的Client端和手机的Daemon之间的通信。
- 三者之间的通信
Client<—>Server<—>Daemon
主要命令
-
adb帮助
adb --help
-
启动adb server
adb start-server
-
关闭adb server
adb kill-server
-
获取设备号
adb devices
- 获取系统版本
adb -s 设备号 shell getprop ro.build.version.release
- 发送文件到手机
adb push 电脑端文件路径/需要发送的文件 手机端存储的路径 示例: 将桌面的xx.png发送到手机sdcard目录下 adb push C:\Users\win\Desktop\xx.png /sdcard
- 从手机拉取文件
adb pull 手机端的路径/拉取文件名 电脑端存储文件路径 示例: 将手机/sdcard目录中的xx.png文件,发送到电脑桌面 adb pull /sdcard/xx.png C:\Users\win\Desktop
- 查看手机运行日志
adb logcat
app运行日志输出到文件: mac/linux: adb logcat | grep 包名 >> ./log.txt
windows:mac/linux: adb logcat | findstr 包名 >> ./log.txt
logcat缓冲区
android log输出量巨大,特别是通信系统的log,因此,android把log输出到四个不同的缓冲区
目前定义了四个log缓冲区:
Radio:输出通信系统的log
System:输出系统组件的log
Events:输出event模块的log
Main:所有java层的log(不属于上面3层的log)
指定输出通信系统的log:adb logcat -b radio
默认log输出(不指定缓冲区的情况下)是输出system和Main缓冲区的log
logcat日志分析
由五部分组成
1、写下日志时的时间,如01-11 09:39:35.209
2、进程ID和线程ID
3、优先级:在android中,日志的优先级从低到高分为以下几种:
V-Verbose(啰嗦,最低级别,开发调试中的一些详细信息,尽在开发中使用,不可在发布中使用)
D-Debug(调试,用于调试的信息,可以在发布产品中关闭,比较常见)
I-Info(信息,一般提示性的消息)
W-Warning(警告)
E-Error(错误,已经出现可影响运行的错误,比如应用crash时输出的日志信息)
4、tag标签:标明日志发起者和方便日志的过滤筛选。
5、Meaasge正文:本日志的主体内容
- 手机shell命令行
adb shell
- 安装app到手机
adb install 路径/xx.apk
- 卸载手机手机app
adb uninstall 包名
- 获取app启动时间
adb shell am start -W 包名/启动名 示例: adb shell am start -W com.yly.drawpic/.MainActivity 解释: TotalTime:app自身启动时间 WaitTime:系统启动应用时间
-
app运行cpu等信息输出到文件:
mac/linux: adb shell top | grep 包名 >> ./top.txt
windows: add shell top | findstr 包名 >> ./top.txt
获取app启动包名和启动名
1)方法一(⚠️ 手机需要先打开对应app)
1.Mac/Linux: adb shell dumpsys window windows | grep mFocusedApp 2.在 Windows 终端运行 adb shell dumpsys window windows
| findstr mFocusedApp
2)方法二:通过logcat
adb logcat |findstr -i displayed (执行该命令后,打开对应的APP)
3)方法三:aapt工具定位包名和启动名:
-
输入aapt命令:aapt dump badging C:\Users\Administrator\Desktop\finance-googleplay-nonprodalpha-release.apk
-
app包名就是package后面的内容:com.microsoft.amp.apps.bingfinance.nonprod
可以添加
|
find -
launchable-activity后内容就是appWaitActivity,如:com.microsoft.amp.apps.bingfinance.activities.views.MainActivity
可以添加
|
find
posted on 2020-02-18 15:38 crystal1126 阅读(162) 评论(0) 编辑 收藏 举报