一、概述
最近想研究scrcpy投屏神器的构建过程,里面涉及了不少的知识点,如:meson、ninja、phthon3脚本、shell脚本、gradle脚本(groovy)、adb常用命令等等
而这篇就先回顾一下adb的常用命令
二、常用命令介绍
1.配置adb环境变量
其实就是配置一下android sdk的环境变量即可,因为sdk中有adb工具如下图:
3.查看adb环境变量是否配置完成:打开cmd 命令行窗口并执行adb version 。如果打印出版本号则说明环境变量配置完成
3.准备阶段
准备一台Android手机、打开usb调试,插入电脑,并允许手机信任设备。
4.在cmd窗口中执行adb shell进入android系统中
5.由于Android系统是基于Linux内核的,所以一旦进入了Android系统中,则Linux的常用命令在 Android上也是能够使用的。如:ls 查看当前目录下的文件及文件夹
看到这个目录是不是比较熟悉:其中sdcard就是sdcard的根目录。
6.使用exit则退出Android系统回到windows系统
7.adb devices 查看当前连接的设备
8.安装应用的命令
adb install [apk安装包包名]:将apk安装包安装到手机上
9.卸载应用的命令
adb uninstall [安卓系统中应用的包名(package)]
10.将文件从手机上拉下来
adb pu11 [手机上的文件路径] [电脑上的目标目录]
11.将电脑上的文件推送到手机上
adb push [电脑上的目标目录] [手机上的文件路径]
12.获取手机中安装的所有应用的package
adb shell pm list package
13.列出非系统应用的所有package
adb shell pm list package -3
原理:实际上是先通过adb shel1进入安卓手机系统,然后调用手机中的 pm命令:放在了system/bin目录下的pm脚本。
如果在安卓系统中执行的话,就只需要执行 pm list package -3
14.启动指定应用
adb shell am start -W -s [包名]/[启动activity名]
15.获取应用Activity的三种方法
adb shel1 dumpsys activity|findstr "mFocuse" 获取应用的activity 注意,使用这个命令的时候,打开你的被测应用。 实际上获取的是当前应用打开的activtiy名,有可能并不是启动用的activity。 使用sdk中的aapt工具来进行apk包的解析。获取到的一定是启动用的activtiy。 adb shell monkey -p [被测包名] -v -v -v 1 通过查看日志信息中,找到using开头的那一句,其中的activity名字就是启动页面
通过最后一条命令演示一下:执行后app会自动打开
15.获取手机的坐标信息
开发者选项中,指针位置选项打开
16.互动型命令。如输入:input
adb shell input text [输入内容] adb shell input tap [x坐标 y坐标] adb shell input keyevent [keycode编码]: 调用安卓系统中的一些系统按键 adb shel input swipe [起点x坐标y标终点x坐标 y坐标 操作时长]
演示点击home键 ,ps:执行后Android系统回到home,因为 3是home键的code码
17.这里有一个重大情况需要说明
在操作系统(Windows、Linux、Mac)上的命令行执行adb xxx 和执行adb shell进入系统后去掉adb执行命令效果是相同的。
如:在Windows上执行adb shell input keyevent 3 相当于点击了home键。如果执行adb shell进入Android系统,则只需要执行 input keyevent 3 就行了,也就是把adb shell省略了
标签:shell,package,更新,adb,常用命令,input,Android From: https://www.cnblogs.com/tony-yang-flutter/p/17811975.html