adb shell dumpsys battery 疑问求解答 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
sitboy
V2EX    Android

adb shell dumpsys battery 疑问求解答

  •  
  •   sitboy 2024-10-07 10:13:40 +08:00 6091 次点击
    这是一个创建于 448 天前的主题,其中的信息可能已经有所发展或是发生改变。

    很早之前看到

    下载并安装 Android Debug Bridge (ADB) 工具[1]。 在命令行中输入 adb shell dumpsys battery set usb 0 ,以禁止 USB 充电。 在命令行中输入 adb shell dumpsys battery set usb 1 ,以允许 USB 充电。 
    p>可以 ADB 控制充放电。

    实际使用一次发现手机电量显示卡在 100 ,实际已经没有电了,重启解决,就没有关心这件事。

    今天到 GPT 上问了问,告知我这个命令只是模拟了设备停止通过 USB 充电。,

    > .\adb.exe shell dumpsys battery Current Battery Service state: (UPDATES STOPPED -- use 'reset' to restart) AC powered: false USB powered: false Wireless powered: false Max charging current: 500000 Max charging voltage: 4867000 Charge counter: 1641000 status: 2 health: 2 present: true level: 72 scale: 100 voltage: 4080 temperature: 300 technology: Li-poly 

    在这个输出中 USB powered:被模拟成了 false ,但是 status: 2 表示正在充电中,

    ##chatgpt: 从输出结果来看,你已经成功模拟了设备停止通过 USB 充电。以下几点支持这个结论: USB powered: false 输出中显示 USB powered: false ,表明系统认为设备不再通过 USB 充电。 AC powered: false 和 Wireless powered: false 同时,设备没有通过交流电源或无线充电供电,这表明系统认为设备没有任何外部电源。 status: 2 status: 2 表示设备的电池状态为“充电中”,但由于 USB powered 已设置为 false ,这意味着充电状态可能是之前的模拟结果,并不反映当前的物理状态。 

    我请求来源 ,chatgpt 给不出。

    我在 ADB 文档中没有找到,特地去问了 Gemini ,毕竟都是一家公司的,得到的确实另一个回答

    ##Gemini 好的,我来为你详细解释一下 adb shell dumpsys battery 命令输出中的 status: 2 的含义。 status: 2 的含义 在 adb shell dumpsys battery 命令的输出中,status: 2 表示设备的电池目前处于放电状态。 其他状态值 除了 status: 2 ,常见的 status 值还有: 0: 电池状态未知。 1: 电池正在充电。 3: 电池已充满。 4: 电池未充电。 5: 电池处于充满状态。 

    我困惑住了, 感谢看到这里,求一个解答!

    9 条回复    2024-10-08 21:28:22 +08:00
    sitboy
        1
    sitboy  
    OP
       2024-10-07 10:15:38 +08:00
    sir283
        2
    sir283  
       2024-10-07 10:21:31 +08:00
    它这个不是每个安卓版本都适用的,在安卓 6 及以上才行。

    Google 开发者官网官方介绍 dumpsys 命令: https://developer.android.com/tools/dumpsys

    Google 开发者官网官方介绍 dumpsys battery 命令使用场景: https://developer.android.com/training/monitoring-device-state/doze-standby?hl=zh-cn#testing_doze_and_app_standby
    sitboy
        3
    sitboy  
    OP
       2024-10-07 10:29:04 +08:00
    @sir283 Google 开发者官网介绍我有看了

    目前主要是想确认一下 "adb shell dumpsys battery 命令输出中的 status: 2 的含义"

    到底是"放电中"还是"充电中"
    sitboy
        4
    sitboy  
    OP
       2024-10-07 10:59:54 +08:00
    破案了

    "adb shell dumpsys battery 命令输出中的 status: 2 的含义" 还没有解决

    但是我换成小米手机测试后,

    在命令行中输入 adb shell dumpsys battery set usb 0 ,以禁止 USB 充电。

    手机上确实没有充电的闪电标志了。

    之前的华为 magic2 没有变化 充电标志还在的。
    cooltechbs
        5
    cooltechbs  
       span class="ago" title="2024-10-07 11:58:08 +08:00">2024-10-07 11:58:08 +08:00
    恭喜破案,话说这个可以用来实现充电限制(例如充到 80% 自动停充,掉到 75% 自动恢复)?
    guanzhangzhang
        6
    guanzhangzhang  
       2024-10-07 16:29:32 +08:00
    用这个来做防止过度充电吗,例如手机挂着
    jinliming2
        7
    jinliming2  
       2024-10-07 20:20:09 +08:00 via iPhone
    @cooltechbs #5 这个功能是不是部分 Android 是自带的?我的 24 小时挂机的 Pixel 就是一直连着充电,但是偶尔看屏幕上显示的电量会掉到 60 多
    sitboy
        8
    sitboy  
    OP
       2024-10-08 09:38:23 +08:00
    @cooltechbs 是的啊 就是要实现这个功能。华为的已经不支持了
    sitboy
        9
    sitboy  
    OP
       2024-10-08 21:28:22 +08:00
    经过测试,新的发现

    adb shell dumpsys battery set usb 0 ,以禁止 USB 充电。

    这个时候,屏幕电量就不更新了。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     934 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 19:30 PVG 03:30 LAX 11:30 JFK 14:30
    Do have faith in what you're doing.