ADB 你想找的命令都在这里

作者: 程序员Android1 | 来源:发表于2018-10-26 17:47 被阅读91次

    本篇文章主要介绍 Android 开发中的部分知识点,通过阅读本篇文章,您将收获以下内容:

    一、ADB 简介
    二、ADB的工作方式
    三、ADB常用命令

    欢迎关注微信公众号:程序员Android
    公众号ID:ProgramAndroid
    获取更多信息

    微信公众号:ProgramAndroid

    我们不是牛逼的程序员,我们只是程序开发中的垫脚石。
    我们不发送红包,我们只是红包的搬运工。

    一、ADB 简介

    ADB(Android Debug Bridge) 是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利,如安装和调试应用,并提供对 Unix shell(可用来在模拟器或连接的设备上运行各种命令)的访问。该工具作为一个客户端-服务器程序。

    • 客户端,该组件发送命令。客户端在开发计算机上运行。您可以通过发出 adb 命令从命令行终端调用客户端。

    • 后台程序,该组件在设备上运行命令。后台程序在每个模拟器或设备实例上作为后台进程运行。

    • 服务器,该组件管理客户端和后台程序之间的通信。服务器在开发计算机上作为后台进程运行。

    adb 工具路径
    android_sdk/platform-tools/

    二、ADB的工作方式

    1. 连接 Android 模拟器

    ADB与本地 TCP 端口 5037 绑定,并侦听从 adb 客户端发送的命令—所有 adb 客户端均使用端口 5037 与 adb 服务器通信。然后,服务器设置与所有运行的Android模拟器/Android 设备连接。

    2.USB 连接 Android 机器

    • a. 打开开发者选项

    Settings >About phone>连续点击 Build number七次

    • b. 开启 USB debugging

    • c .Dos 下输入adb devices验证手机是否连上 adb

    验证adb 是否连接成功

    3.WLAN 连接 Android 机器

    此方法不常用,暂时忽略

    三、ADB常用命令

    1. 安装卸载apk

    • a. 安装apk

    adb install apk路径

    安装apk
    • b. 卸载apk

    adb unstall apk包名

    查询包名,并根据包名卸载apk

    2. 导入/导出 文件到手机中

    • a. 导出手机文件

    adb pull remote local

    将手机Setting.apk 导出到电脑D盘
    • b. 导入文件到手机

    adb push local remote

    将电脑D 盘的文件 导入到手机/system/priv-app/Settings目录下

    3.开启、停止ADB 服务

    • a. 开启ADB 服务

    adb start-server

    • b. 停止ADB服务

    adb kill-server

    ADB 服务的开启与停止

    4. 使用ADB 命令截屏、录像

    • a. 截屏 screencap

    adb shell screencap 文件保存路径

    使用adb 命令截图
    • b. 录像 screenrecord

    adb shell screenrecord 文件保存路径

    使用adb 命令录屏录像

    Control + C 停止屏幕录制,否则,到三分钟或 --time-limit 设置的时间限制时,录制将自动停止。

    screenrecord 部分参数

    选项 说明
    --size width x height 设置分辨率 eg:1280x720
    --bit-rate rate 视频比特率,默认值为 4Mbps,可以设6Mbps,这样质量更好 eg:adb shell screenrecord --bit-rate 6000000 /sdcard/demo.mp4
    --time-limit time 设置最大录制时长(以秒为单位)。默认值和最大值均为 180(3 分钟)。

    5. 调用ActivityManager(am 命令)

    • a. 发送 intent

    adb shell am start -a android.intent.action.VIEW

    • b.启动Activity

    adb shell am start -n 包名/类名

    启动QQ
    • c. 启动service

    adb shell am startservice 包名/类名

    启动指定的Service
    • d. 发送广播

    adb shell am boradcast -a 广播Action

    adb 命令发送开机广播
    • e. 强行停止应用

    adb shell force-stop 包名

    强行停止QQ进程,正在使用的QQ就会闪退被杀掉

    6. 调用 PackageManager(pm 命令)

    • a. 卸载apk

    adb shell pm uninstall 包名

    卸载QQ
    • b. 查看手机中所有apk 包名

    adb shell pm list packages

    部分apk包名查看
    • c. 查看已知权限组

    adb shell pm list permission-groups

    所有手机权限组查看
    • d. 查看手机Feature 支持

    adb shell pm list features

    查看手机Feature
    • e. 根据包名,查看apk 安装路径

    adb shell pm path 包名

    查看SystemUI apk 路径
    • f. 清除app 数据

    adb shell pm clear 包名

    清除QQ apk 数据
    • g. 多用户相关

    查看支持最多用户数
    adb shell pm get-max-users

    查询系统所有用户
    adb shell pm list users

    创建新用户
    adb shell pm create-user user_name

    移除指定id用户
    adb shell pm remove-user user_id

    测试发现只有 使用adb 命令创建的多用户才可用命令移除

    7. dumpsys将系统数据转储到屏幕

    • a. 获取当前运行的Activity

    adb shell dumpsys activity | findstr Run

    获取最近运行的Activity ,已经Top Activity

    8. 查看手机系统进程

    • a.使用Top命令查看系统进程

    adb shell top

    使用Top命令查看系统进程
    • b. 使用 ps 命令查看系统进程

    adb shell ps

    使用 ps 命令查看系统进程

    结合findstr 命令 过滤多余的信息 adb shell ps | findstr qq

    结合findstr 命令 过滤多余的信息

    9. 使用logcat抓 log信息

    • a.使用 logcat 抓取log信息

    adb logcat > 1.txt

    使用logcat 抓取的信息
    • b.使用 -s 过滤log标签

    adb logcat -s 关注log标签

    使用-s 过滤关注log标签
    • c. 使用 -c 清除缓存log

    adb logcat -c

    10. 电量管理相关命令

    • a.模拟拔下设备电源

    adb shell dumpsys battery unplug

    • b. 低电量条件下的行为

    adb shell settings put global low_power 1

    • c .恢复电源修改

    adb shell dumpsys battery reset

    电源管理相关命令

    至此,本篇已结束,如有不对的地方,欢迎您的建议与指正。期待您的关注,
    感谢您的阅读,谢谢!

    如有侵权,请联系小编,小编对此深感抱歉,同时小编会立即停止侵权行为。

    ​欢迎关注微信公众号:程序员Android
    公众号ID:ProgramAndroid
    获取更多信息

    微信公众号:ProgramAndroid

    我们不是牛逼的程序员,我们只是程序开发中的垫脚石。
    我们不发送红包,我们只是红包的搬运工。

    点击阅读原文,获取更多福利


    相关文章

      网友评论

        本文标题:ADB 你想找的命令都在这里

        本文链接:https://www.haomeiwen.com/subject/tvektqtx.html