Android-adb 命令行

450 阅读4分钟

跨平台开发 - 调试

作为一个前端开发工程师,跨平台开发应该是比较常见的一个技术了,作为纯前端初步接触跨平台开发的小白来说,需要了解一些相关的知识以及工具。接下来我们就简单介绍一下 Android 的调试工具 adb 全称 Android Debug Bridge

如果是 IOS 设备,则通过 xcode 来进行调试,用 mac 电脑 或者 window 安装一个虚拟机并安装mac的系统来进行调试。

adb 安装

adb 是 android SDK 中自带的工具,用于完成电脑和手机之间的通信控制。

image.png 将这3个文件保留到想要存放的文件地址,然后配置环境变量到 path 中就可以使用了。

通过一下命令可以检测是否安装、设置成功

adb version # 查看 adb 版本

adb 命令

1. 连接 android 手机或者模拟器
adb connect 127.0.0.1:对应的端口号
2. 查看当前连接设备
adb devices 

注意 后面带有 device 表示连接成功

3. 下载安装 APK
adb install [apk包的路径] # 将 apk 下载到收集到并安装

adb uninstall [安卓系统中应用的包名(package)] # 将 APP 从手机中卸载
4. 进入手机操作系统

首先了解一下 Android 大部分都是基于 Linux 进行开发的,所以 Linux 中的命令行 在 Android 中大部分都可以用。

adb shell # 进入手机操作系统
5. 包管理(pm)操作

查看所有的包

adb shell pm list package # 会列举出来系统级的包 和 第三方开发的包

仅查看第三方开发的包

adb shell pm list package -3 # -3 表示第三方开发的包 自己安装上去的

这条命令执行原理是: 首先通过 adb shell 进入到 Android 操作系统 然后再调用手机的 pm 命令查看包

6. 从手机中下载文件到电脑上
adb pull [手机上的文件路径] [电脑上的文件路径] # 将文件从手机下载到电脑上
7. 将电脑上的文件上传到手机中
adb push [电脑上的文件路径] [手机上的文件路径] # 将电脑上的文件上传到手机上s
8. 页面管理(am activity manager)操作

手机应用中的每个页面就是一个 activity 启动应用时,需要通过应用的启动 activity 来完成调用。

9. 获取应用的activity
  • 方式1:有可能并不是启动用的 activity
adb shell dumpsys activity|findstr 'mFoucse'

注意 在使用此命令时,一定要打开调试的应用

  • 方式2:(推荐) 使用 SDK 中 aapt 工具 来进行 apk 包的解析。获取一定是启动用的 activity 注意 要到相应的 aapt 文件夹下打开命令行工具,或者将 aapt 添加到环境变量
aapt dumpsys badging [电脑上包的路径]|findstr launchable # 表示查找可以启动的 activity
  • 方式3:借助 monkey 然后通过日志来查找 activity: 找到 useing 开头的那一句,其中的 activity 就是启动页面
adb shell monkey -p [包名] -v -v -v 1
10. 启动应用
adb shell am start -W -S [包名 + '/' + 启动activity名称] # 这样就启动了应用
  • -W 指等待应用的启动
  • -S 指关闭当前启动的应用 然后打开此应用

交互型命令

  1. 控制输入
adb shell input text [输入的文字]
  1. 控制点击 需要打开标尺工具来对应点击的位置
adb shell input tap [x 轴坐标] [y 轴坐标]
  1. 控制按键 keycode 是按键对应的值 比如:搜索一下很多的这里列举两个
键名keycode
home键3
退格键(删除键)67
adb shell input keyevent [keycode]
  1. 滑动操作 操作时长按毫秒计时
adb shell input swipe [起点x坐标 y坐标 终点x坐标 y坐标 操作时长]
  1. 长按操作 没有直接长按的命令,但是可以通过滑动的操作来实现。

比如 通过起点与终点较小的差距,但是操作时间长一点就可以实现长按

adb shell input swipe [100 120 105 118 2000]

使用

通过 adb 连接成功之后, 如果是用 web 开发的比如 cordova 来套壳开发的 Android 就可以通过 在 chrome 中 打开chrome://chrome://inspect/#devices 进行网页调试,就和网页的控制台差不多。

小小结

这里就总结一下命令 就是方便一些测试可以编写一个简单 bat 脚本 来自动化运行一些命令 提升调试效率, 当然还有更专业更高效的,有兴趣大家可以找一些资料分享一下~~~