编程进阶网编程进阶网
  • 基础组成体系
  • 程序编程原理
  • 异常和IO系统
  • 六大设计原则
  • 设计模式导读
  • 创建型设计模式
  • 结构型设计模式
  • 行为型设计模式
  • 设计模式案例
  • 面向对象思想
  • 基础入门
  • 高级进阶
  • JVM虚拟机
  • 数据集合
  • Java面试题
  • C语言入门
  • C综合案例
  • C标准库
  • C语言专栏
  • C++入门
  • C++综合案例
  • C++专栏
  • HTML
  • CSS
  • JavaScript
  • 前端专栏
  • Swift
  • iOS入门
  • 基础入门
  • 开源库解读
  • 性能优化
  • Framework
  • 方案设计
  • 媒体音视频
  • 硬件开发
  • Groovy
  • 常用工具
  • 大厂面试题
  • 综合案例
  • 网络底层
  • Https
  • 网络请求
  • 故障排查
  • 专栏
  • 数组
  • 链表
  • 栈
  • 队列
  • 树
  • 递归
  • 哈希
  • 排序
  • 查找
  • 字符串
  • 其他
  • Bash脚本
  • Linux入门
  • 嵌入式开发
  • 代码规范
  • Markdown
  • 开发理论
  • 开发工具
  • Git管理
  • 百宝箱
  • 开源协议
  • 技术招聘
  • 测试经验
  • 职场提升
  • 技术模版
  • 关于我
  • 目标清单
  • 学习框架
  • 育儿经验
  • 我的专栏
  • 底层能力
  • 读书心得
  • 随笔笔记
  • 职场思考
  • 中华历史
  • 经济学故事
  • 基础组成体系
  • 程序编程原理
  • 异常和IO系统
  • 六大设计原则
  • 设计模式导读
  • 创建型设计模式
  • 结构型设计模式
  • 行为型设计模式
  • 设计模式案例
  • 面向对象思想
  • 基础入门
  • 高级进阶
  • JVM虚拟机
  • 数据集合
  • Java面试题
  • C语言入门
  • C综合案例
  • C标准库
  • C语言专栏
  • C++入门
  • C++综合案例
  • C++专栏
  • HTML
  • CSS
  • JavaScript
  • 前端专栏
  • Swift
  • iOS入门
  • 基础入门
  • 开源库解读
  • 性能优化
  • Framework
  • 方案设计
  • 媒体音视频
  • 硬件开发
  • Groovy
  • 常用工具
  • 大厂面试题
  • 综合案例
  • 网络底层
  • Https
  • 网络请求
  • 故障排查
  • 专栏
  • 数组
  • 链表
  • 栈
  • 队列
  • 树
  • 递归
  • 哈希
  • 排序
  • 查找
  • 字符串
  • 其他
  • Bash脚本
  • Linux入门
  • 嵌入式开发
  • 代码规范
  • Markdown
  • 开发理论
  • 开发工具
  • Git管理
  • 百宝箱
  • 开源协议
  • 技术招聘
  • 测试经验
  • 职场提升
  • 技术模版
  • 关于我
  • 目标清单
  • 学习框架
  • 育儿经验
  • 我的专栏
  • 底层能力
  • 读书心得
  • 随笔笔记
  • 职场思考
  • 中华历史
  • 经济学故事

目录介绍

  • 01.adb常用命令
  • 02.adb命令截图
  • 03.adb安装应用
  • 04.adb清app缓存
  • 05.adb通过WiFi调试
  • 06.adb问题分析

01.adb常用命令

  • adb 常用命令
    • adb version --查看adb版本
    • adb devices–用来查看当前连接的设备,已连接的设备会显示出来
    • adb connect ip地址–用来连接设备
    • adb disconnect ip地址-- 断开设备
    • adb kill-server/start-server–终止adb服务/启动adb服务
    • adb install apk文件路径
  • 查询手机cpu和内存信息
    • adb shell cat /proc/cpuinfo
    • adb shell cat /proc/meminfo
    • adb shell ps
    • adb shell kill pid
  • adb启动某个app的方法
    • adb shell am start -n package/launch activity 说明:package 是app的包名;launch activity 是启动activity的完整路径
    • adb shell dumpsys activity top| grep ACTIVITY 查找当前显示在桌面上的activity(即:打开你想要用adb打开的应用界面)
    • adb shell pm list package 查找当前手机所有包名
    • adb shell pm list packages -f com.xxx 获取对应app的包的位置

02.adb命令截图

  • adb shell screencap -p /sdcard/screenshot.png
    • 该命令的作用是将当前手机屏幕截图保存在sdcard路径下。我们可以根据实际需求来修改保存路径。
  • adb pull /sdcard/screenshot.png D:
    • 该命令的作用是将sdcard路径下的截图文件拷贝到本地D盘上。我们可以根据实际需求来修改导出路径。

03.adb安装应用

  • 安装apk指令:
    • adb install apk路径
  • 问题描述:安装apk出现,Failure INSTALL_FAILED_VERSION_DOWNGRADE
    • 使用adb install 命令安装Android应用的时候提示Android Failure INSTALL_FAILED_VERSION_DOWNGRADE
    • 是因为该Android机器中已经存在了比这个应用的版本号更高的同包名应用。
  • 解决方法:
    • adb install -r -d C:\Users\yc\Desktop\xxx.apk(apk名称)
  • adb 杀死 apk 进程
    • adb shell am force-stop 包名
    • adb shell am force-stop com.tencent.wx

04.adb清app缓存

  • adb如何清理特定app缓存
    • adb devices 查看全部设备
    • adb shell
    • pm clear com.tencent.wx

05.adb通过WiFi调试

  • 前提条件
    • 1.在同一Wi-Fi情况下;2.adb 环境已配置;3.设备已通过USB连接电脑
  • 第一种方式:通过命令行调试
    • 1.将 Android 设备和 adb 主机连接到同一 Wi-Fi 网络。
    • 2.使用 USB 线将设备连接到主机【咱们机具无USB连接电脑,该步省略】。
    • 3.设置目标设备以监听端口 5555 上的 TCP/IP 连接:adb tcpip 5555
    • 4.拔掉连接目标设备的 USB 线【机具这步省略】。
    • 5.找到 Android 设备的 IP 地址。例如,您可以在设置 > 关于平板电脑(或关于手机)> 状态 > IP 地址下找到 IP 地址。
    • 6.通过 IP 地址连接到设备:adb connect 192.168.1.39:5555
    • 7.确认主机已连接到目标设备:adb devices 后:List of devices attached 192.168.1.39:5555 device。您的设备现已连接到 adb。
    • 8.如果与设备的 adb 连接断开:确保主机仍与 Android 设备连接到同一 Wi-Fi 网络。通过再次执行 adb connect 步骤重新连接。如果这样无法解决问题,请重置您的 adb 主机:adb kill-server 。然后,从头开始操作。
  • 第二种方式:插件
    • 1.打开File->perfrence->plugins->Browse repositories…->搜索 adb wifi->点击安装
    • 2.先用最普通的方式,用USB连接线,将手机和电脑连接,并成功被AS识别。
    • 3.View->Tool Windows->ADB Wifi。会出现Wi-Fi连接设备面板。只要显示连接上了,就可以拔掉电脑和手机之间的USB连接线了。
  • 第三种方式:开启无线ADB调试
    • 1.打开Android设备的开发者选项并启用无线ADB调试。找到“开发者选项”并进入该选项卡。找到并启用“无线ADB调试”选项。
    • 2.确保Android设备和PC端在同一局域网内,并查找Android设备的IP地址。
    • 3.打开无线调试端口。有的Android设备默认关闭了无线adb调试端口,所以无线连接adb时会出现主机积极拒绝或连接超时等错误。
    • 3.1 adb shell setprop service.adb.tcp.port 5555
    • 3.2 adb shell stop adbd
    • 3.3 adb shell start adbd
    • 3.连接Android设备和PC端。在PC端的命令行工具中输入以下命令:adb connect 192.168.1.39
  • USB调试模式与WIFI调试模式切换
    • adb usb 切换到USB模式
    • adb tcpip 5555 切换到WIFI无线调试
  • WIFI 无线调试下 连接与断开连接的指令
    • adb connect 192.168.0.181 连接设备
    • adb disconnect 192.168.0.181 断开设备连接
  • 遇到问题1:adb: device offline
    • adb已经连接上设备,但是是离线模式。adb: device offline。
    • 第一种方案:输入adb kill-server关闭服务后再输入 adb start-server开启服务。重新连接设备。
    • 第二种方案:换USB线和USB口拔插,撤销usb授权重试,关闭开发者模式再开启等等都可以试试。
  • 遇到问题2:error: more than one device/emulator
    • 报错原因:报错说的很清楚,有多个设备同时连接了电脑。
    • 解决方法:执行 adb 指令的时候,指定执行的设备,就OK了。比如:adb -s xxxxxx shell ps 21190 注意:其中的 xxxxxx 就是你的设备序列号
    • 获取序列号的方法,执行 adb devices。
  • 遇到问题3:adb: no devices/emulators found
    • 1、未开发者模式和USB调试;2、adb功能异常;3、daemon未启用,即端口占用;4、devices驱动被更改
    • 具体看:https://blog.csdn.net/qq_59975439/article/details/129315756
    • https://zhuanlan.zhihu.com/p/81163165?from_voters_page=true
  • 遇到问题4:already connected to xxxxx
    • 如果执行adb connect xxxxx时,提示already connected to xxxxx,但是执行adb devices时并没有连接的设备,则执行:
    • adb kill-server //停止adb服务
    • adb start-server //开启adb服务
    • 然后再执行:adb connect xxxxx 重新连接到Android设备。

06.adb问题分析

  • 问题描述:adb执行报错
    • Mac上使用 adb 调试Android设备时,出现了 zsh: command not found: adb 的报错提示。
    • 出现上述错误代表 adb 无法在挡枪 的shell 中使用,而当前的 shell 为 zsh 。
  • 方案一:修改 zsh 为 bash
    • 执行下面命令将默认shell改成 bash : chsh -s /bin/bash
    • 接着调用下面命令立即应用bash的配置文件: source ~/.bash_profile
    • 执行adb shell 测试可以正常使用 adb 命令了。
  • 方案二:配置 zsh 终端
    • 执行 touch ~/.zshrc 命令检查是否已有 .zshrc 文件,如果没有则会自动创建文件。
    • 接着执行 open ~/.zshrc 命令打开文件或者使用 vi 进行编辑。
    • 在文件中输入 source ~/.bash_profile 这一行命令文本。
    • 执行 source ~/.zshrc 立即应用文件修改。
    • 执行adb shell 测试最后可以正常使用 adb 命令了。
贡献者: yangchong211