adb 获取电池电量

举报
林欣 发表于 2025/07/18 10:42:36 2025/07/18
【摘要】 ADB 可以通过特定命令获取电池电量信息,但需要手机已开启 USB 调试模式(部分机型还需授权 ADB 访问权限)。以下是详细方法和注意事项: 一、通过 dumpsys battery 命令获取电量连接手机并开启 ADB用数据线连接手机和电脑,确保手机已开启 开发者选项 和 USB 调试。在电脑命令行(Windows:CMD/PowerShell;Mac/Linux:Terminal)输入以...

ADB 可以通过特定命令获取电池电量信息,但需要手机已开启 USB 调试模式(部分机型还需授权 ADB 访问权限)。以下是详细方法和注意事项:


一、通过 dumpsys battery 命令获取电量

  1. 连接手机并开启 ADB

    • 用数据线连接手机和电脑,确保手机已开启 开发者选项USB 调试
    • 在电脑命令行(Windows:CMD/PowerShell;Mac/Linux:Terminal)输入以下命令,确认设备已识别:
      adb devices
      
      若显示设备序列号(如 XXXXXX device),说明连接成功。
  2. 执行电池信息查询命令

    • 输入以下命令获取电池详细信息:
      adb shell dumpsys battery
      
    • 关键输出字段(以实际输出为例):
      Current Battery Service state:
        AC powered: false          # 是否连接充电器
        USB powered: true           # 是否通过USB供电
        Wireless powered: false    # 是否无线充电
        Status: 2                  # 充电状态(2=充电中,5=放电中)
        Health: 1                  # 电池健康度(1=良好)
        Present: true              # 电池是否安装
        Level: 85                  # 当前电量百分比(重点!)
        Scale: 100                 # 电量最大值(通常为100)
        Voltage: 4320              # 电池电压(mV)
        Temperature: 280           # 电池温度(0.1℃单位,此处为28℃)
        Technology: Li-ion         # 电池类型
      
    • 电量百分比计算:直接读取 Level 字段值(如 85 即表示 85%)。

二、简化命令(仅获取电量百分比)

若只需快速查看电量,可使用以下命令过滤输出:

adb shell dumpsys battery | grep -E "level|status"  # Linux/Mac
adb shell dumpsys battery | findstr "level status"   # Windows

或直接提取 Level 值(适用于脚本自动化):

adb shell dumpsys battery | awk '/level:/ {print $2}'  # Linux/Mac
adb shell dumpsys battery | find "level:" & set /p var=& echo %var:~7%  # Windows(复杂但可行)

三、通过 batterystats 获取更详细数据(需 root)

若手机已 root,可获取更深入的电池统计信息(如耗电排名):

adb shell dumpsys batterystats --reset  # 重置统计数据(可选)
adb shell dumpsys batterystats --charged  # 查看充电后的统计

注意:普通用户无需使用此命令,且部分数据需要 root 权限。


四、常见问题解决

  1. 命令无输出或报错

    • 原因:USB 调试未开启、ADB 版本过旧、手机未授权。
    • 解决
      • 检查手机是否弹出 “允许 USB 调试?” 提示并点击确认;
      • 更新 ADB 工具到最新版;
      • 重启手机或更换数据线/USB 接口。
  2. 电量显示不准确

    • 原因:电池老化、系统校准错误。
    • 解决
      • 尝试重启手机;
      • 若电量长期跳变(如从 50% 突然到 20%),可能是电池损坏,需更换。
  3. 无线调试(无需数据线)

    • Android 11+ 支持 无线 ADB 调试
      1. 手机开启 开发者选项无线调试
      2. 点击 使用配对码配对设备,记录 IP 地址和端口;
      3. 电脑输入:
        adb connect 手机IP:端口  # 例如 adb connect 192.168.1.xxx:5555
        adb shell dumpsys battery
        

五、替代方案(无需 ADB)

如果无法使用 ADB,可通过以下方式查看电量:

  1. 手机状态栏:直接下拉通知栏查看(最简单);
  2. 系统设置:进入 设置 → 电池 查看详细信息;
  3. 第三方 App:如 AccuBatteryGSam Battery Monitor(需安装)。

总结

方法 命令/操作 适用场景
ADB 获取电量 adb shell dumpsys battery 开发者调试、自动化脚本
快速过滤电量 adb shell dumpsys battery | grep level 仅需百分比时
无线调试(Android 11+) adb connect IP:端口 无需数据线的远程调试
普通用户替代方案 下拉状态栏/设置→电池 无技术背景时

推荐:普通用户优先使用手机自带功能;开发者或需要自动化场景时,ADB 是更灵活的选择。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。