Logcat 命令行工具 | Android Studio | Android Developers
什么是ADB
安装adb
ADB,即Android Debug Bridge,是一个Android调试工具。以下是如何安装ADB的步骤:
下载ADB安装包:
- 你可以通过Android SDK安装ADB。ADB包含在Android SDK平台工具软件包中,安装完安卓SDK后,ADB会安装在“android_sdk/platform-tools/”目录下。
你也可以直接下载ADB安装包。具体的下载地址会根据你的操作系统而有所不同。例如,Windows版本的下载地址可能是https://dl.google.com/android/repository/platform-tools-latest-windows.zip,而Mac和Linux版本则会有相应的下载链接
2、解压安装包:下载完成后,你需要解压这个安装包。解压后,你会看到adb工具以及其他一些相关的文件。
3、配置环境变量:为了使ADB工具能在命令行中使用,你需要将其路径添加到系统的环境变量中。
打开电脑的设置,选择“高级系统设置”,然后点击“环境变量设置”。
在系统变量中找到并选择“Path”变量,然后点击“编辑”。
在“变量值”字段中,添加ADB工具的路径。例如,如果你的ADB工具解压在“C:\adb”目录下,那么你就需要在这个字段中添加“;C:\adb”
4、验证安装:配置完环境变量后,你可以打开命令提示符(Windows)或终端(Mac/Linux),输入adb version
来查看ADB的版本,以确认ADB是否已成功安装并配置。
连接模拟器
安装夜神模拟器,需要使用安装的adb.exe替换模拟器中的nox_adb.exe。
查看adb版本
ADB常用命令
开启模拟器,输入如下命令,显示连接的模拟器设备。
查看当前连接设备
adb devices
查看设备状态
device正常连接 offline 离线 unknown没有连接设备
adb root:获取Android管理员(root用户)的权限
adb shell:登录设备shell,这个命令将登录设备的shell(内核),登录shell后可以使用cd、ls、rm等
linux命令
查看应用包名
• adb shell pm list packages 显示所有包名
• adb shell pm list packages –s 显示系统应用包名
• adb shell pm list packages -3 显示第三方应用包名
• ls /data/data 显示所有包名
安装应用
• adb install <apk文件路径>:将本地apk软件安装到设备上,如果已经存在则无法安装
• adb install -r <apk电脑上的路径> :将本地apk软件安装到设备上,入如果已经存在则覆盖
卸载应用
• adb uninstall <apk包名>:卸载应用
• adb uninstall -k <apk包名>:将设备上apk卸载,但是保留配置和缓存文件
复制文件
adb push <本地路径> <远程路径>:把本地的文件或文件夹复制到设备(手机)
adb push使用中文路径名导入后找不到,
重新push一个英文路径名即可
adb pull <远程路径> <本地路径> :把设备(手机)的文件或文件夹复制到本地(最好创建
一个目录存放)
日志操作
抓取日志
adb logcat:抓取日志,ctrl+c结束
logcat可以查看手机4个缓冲区日志,包括radio,system,main,event;
• radio 存放通信的日志,比如通话短信等;
• event 表示手机按键输出等事件日志等;
• main 指的是手机的应用软件的日志,是应用层日志输出;
• system是系统组日志。
• 如果不指定,则默认输出main和system的日志,
如果需要指定,则需要使用参数
ü logcat是实时日志,在你操作软件的同时,同步会输出日志信息。
1. adb logcat -b 指定缓冲区 如:adb logcat -b main 输出main的日志
2. adb logcat -v time 如:adb logcat -v time 输出的日志同步打印时间
3. adb logcat -v time -b 执行缓冲区 如:adb logcat -v time -b system
4. adb logcat –v time -b 执行缓冲区>d:\ logcat.log 输出的日志保存在本地的文件上
清除日志缓存
adb logcat -c 清理日志
6. adb logcat *:E 日志筛选,只输出error日志
日志操作
adb bugreport:输出日志(包括logcat日志),同时也包括功耗、CPU等日志信息。只支持
Android7.0以上的版本,生成日志后会自动保存到电脑本地。
如果你想要将adb bugreport的输出保存到特定的文件或位置,你可以使用命令行参数来指定路径。例如,你可以使用类似adb bugreport D:\ProjectResources\logs
的命令将报告保存到D盘的ProjectResources\logs目录下。
重启设备
adb reboot
当你使用这个命令时,它会向设备发送一个重启请求,然后设备会开始关闭并重新启动其操作系统。
获取序列号
adb get-serialno
查看ADB命令帮助
adb help
关闭adb服务
adb kill-server
启动adb服务
adb start-server
获得root权限
adb root
获取system文件夹读写权限
adb remount
Adb shell
android是一种基于linux的自由及开放源代码的操作系统,adb shell命令是一个linux的shell,用来调试android系统内置的一些命令。
进入shell
adb shell进入shell,可执行ls cd exit等命令
启动activity
adb shell am start 包名
monkey测试
adb shell monkey 进行monkey测试
获取设备型号
adb shell getprop ro.product.model
获取设备android系统版本
adb shell getprop ro.build.version.release:
获取设备屏幕分辨率
adb shell wm size
截图
adb shell screencap -p /sdcard/mms.png:屏幕截图
adb pull /sdcard/mms.png D:\app:将截图导出到本地
查看系统信息-dumpsys
adb shell dumpsys meminfo <包名>:查看应用内存使用情况
查看当前打开的应用包名和界面
adb shell dumpsys window windows | findstr mFocusedApp:查看当前打开的应用包名和界面
adb shell dumpsys activity | find "mFocusedActivity":查看当前打开的界面
C:\Users\>adb shell dumpsys window windows | findstr mFocusedApp
mFocusedApp=AppWindowToken{a911cd token=Token{5a7db64 ActivityRecord{15a00f7 u0 net.oschina.app/.improve.home.HomeActivity t3}}}
C:\Users\>adb shell dumpsys activity | find "mFocusedActivity"
mFocusedActivity: ActivityRecord{15a00f7 u0 net.oschina.app/.improve.home.HomeActivity t3}
启动activity
启动activity,必须指定activity
C:\Users\>adb shell am start net.oschina.app/.improve.home.HomeActivity
Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=net.oschina.app/.improve.home.HomeActivity }
关闭应用
adb shell am force-stop 包名
input指令
1. 模拟按键/输入-input
adb shell input keyevent <keycode>:模拟键盘操作,不同的keycode能实现不同的功能
• Android adb keyevent 键值大全:Android adb keyevent 键值大全-CSDN博客
adb shell input swipe 300 1000 300 500:模拟滑动操作,从300,1000滑动到300,500坐标
adb shell input text hello:模拟文本输入操作,要求:焦点在某文本框中
清除应用数据与缓存
adb shell pm clear 包名
关闭设备
adb shell stop
启动设备
adb shell start