是否有Android`adb shell dumpsys [service]`命令的通用手册页或文档?

topher217

是否有适用于Androidadb shell dumpsys [service]命令的通用手册页或文档我不是说这个,因为这似乎并没有提供有关的具体服务,如输出细节adb shell dumpsys backup

背景

我已经通过阅读这个问题与有关一般的dumpsys命令,但似乎没有任何广义文档或手册页没有任何联系。这个答案来自用户阅读源C代码并描述他们的观察结果,而这个答案似乎只是用户发现有所帮助的一些特定用例。有评论甚至问

是来自文档的某个地方还是您自己的实验?

没有回复。

特别是,由于我不确定从的输出中看到的内容这一事实,我来到了之前链接的问题adb shell dumpsys backup

Android的文档状态:

要查找备份令牌,请运行adb shell dumpsys backup标记是十​​六进制字符串,紧跟标签Ancestral:和Current:。祖代令牌是指最初设置设备(使用设备设置向导)时用于还原设备的备份数据集。当前令牌是指设备的当前备份数据集(设备当前将其备份数据发送到的数据集)。

我的输出的截短版本是:

Backup Manager is enabled / provisioned / not pending init
Auto-restore is enabled
Last backup pass started: 0 (now = 1575271089047)
  next scheduled: 1575281388106
Transport whitelist:
    android/com.android.internal.backup.LocalTransportService
    com.google.android.gms/.backup.component.D2dTransportService
    com.google.android.gms/.backup.BackupTransportService
Available transports:
    android/com.android.internal.backup.LocalTransport
       destination: Backing up to debug-only private cache
       intent: null
  * com.google.android.gms/.backup.BackupTransportService
       destination: *****@gmail.com
       intent: Intent { cmp=com.google.android.gms/.backup.SetBackupAccountActivity }
       @pm@ - 3794 state bytes
       com.google.android.dialer - 124 state bytes
       com.google.android.videos - 72 state bytes
       com.android.providers.settings - 76 state bytes
       ...
Pending init: 0
Ancestral: 0
Current:   39b423cbcb6862e5
Participants:
  uid: 1000
    com.android.providers.settings
    android
  uid: 1027
    com.android.nfc
  uid: 10004
    com.android.providers.userdictionary
    com.android.providers.blockednumber
    com.android.calllogbackup
  ...
Ancestral packages: none
Ever backed up: 66
    com.android.cellbroadcastreceiver
    com.allrecipes.spinner.free
    com.google.android.youtube
    ...
Pending key/value backup: 47
    BackupRequest{pkg=com.google.android.dialer}
    BackupRequest{pkg=com.google.android.videos}
    BackupRequest{pkg=com.android.cellbroadcastreceiver}
    ...
Full backup queue:68
    0 : com.jb.gokeyboard.langpack.ja
    0 : com.Splitwise.SplitwiseMobile
    1575154802432 : com.google.android.gsf.login
    1575156372751 : com.google.android.backuptransport
    1575159051168 : com.google.android.ext.services
    ...

Backup Manager is enabled / provisioned / not pending init
Auto-restore is enabled
Last backup pass started: 0 (now = 1575271089047)
  next scheduled: 1575281388106
Transport whitelist:
    android/com.android.internal.backup.LocalTransportService
    com.google.android.gms/.backup.component.D2dTransportService
    com.google.android.gms/.backup.BackupTransportService
Available transports:
    android/com.android.internal.backup.LocalTransport
       destination: Backing up to debug-only private cache
       intent: null
  * com.google.android.gms/.backup.BackupTransportService
       destination: *****@gmail.com
       intent: Intent { cmp=com.google.android.gms/.backup.SetBackupAccountActivity }
       @pm@ - 3794 state bytes
       com.google.android.dialer - 124 state bytes
       com.google.android.videos - 72 state bytes
       com.android.providers.settings - 76 state bytes
       ...
Pending init: 0
Ancestral: 0
Current:   39b423cbcb6862e5
Participants:
  uid: 1000
    com.android.providers.settings
    android
  uid: 1027
    com.android.nfc
  uid: 10004
    com.android.providers.userdictionary
    com.android.providers.blockednumber
    com.android.calllogbackup
  ...
Ancestral packages: none
Ever backed up: 66
    com.android.cellbroadcastreceiver
    com.allrecipes.spinner.free
    com.google.android.youtube
    ...
Pending key/value backup: 47
    BackupRequest{pkg=com.google.android.dialer}
    BackupRequest{pkg=com.google.android.videos}
    BackupRequest{pkg=com.android.cellbroadcastreceiver}
    ...
Full backup queue:68
    0 : com.jb.gokeyboard.langpack.ja
    0 : com.Splitwise.SplitwiseMobile
    1575154802432 : com.google.android.gsf.login
    1575156372751 : com.google.android.backuptransport
    1575159051168 : com.google.android.ext.services
    ...
Backup Manager is enabled / provisioned / not pending init
Auto-restore is enabled
Last backup pass started: 0 (now = 1575271089047)
  next scheduled: 1575281388106
Transport whitelist:
    android/com.android.internal.backup.LocalTransportService
    com.google.android.gms/.backup.component.D2dTransportService
    com.google.android.gms/.backup.BackupTransportService
Available transports:
    android/com.android.internal.backup.LocalTransport
       destination: Backing up to debug-only private cache
       intent: null
  * com.google.android.gms/.backup.BackupTransportService
       destination: *****@gmail.com
       intent: Intent { cmp=com.google.android.gms/.backup.SetBackupAccountActivity }
       @pm@ - 3794 state bytes
       com.google.android.dialer - 124 state bytes
       com.google.android.videos - 72 state bytes
       com.android.providers.settings - 76 state bytes
       ...
Pending init: 0
Ancestral: 0
Current:   39b423cbcb6862e5
Participants:
  uid: 1000
    com.android.providers.settings
    android
  uid: 1027
    com.android.nfc
  uid: 10004
    com.android.providers.userdictionary
    com.android.providers.blockednumber
    com.android.calllogbackup
  ...
Ancestral packages: none
Ever backed up: 66
    com.android.cellbroadcastreceiver
    com.allrecipes.spinner.free
    com.google.android.youtube
    ...
Pending key/value backup: 47
    BackupRequest{pkg=com.google.android.dialer}
    BackupRequest{pkg=com.google.android.videos}
    BackupRequest{pkg=com.android.cellbroadcastreceiver}
    ...
Full backup queue:68
    0 : com.jb.gokeyboard.langpack.ja
    0 : com.Splitwise.SplitwiseMobile
    1575154802432 : com.google.android.gsf.login
    1575156372751 : com.google.android.backuptransport
    1575159051168 : com.google.android.ext.services
    ...

上面引用的文本中提到的部分似乎很有意义,但是我不确定有大量其他信息可供使用。特别是,我正在寻找一种方法来验证备份的内容和未备份的内容,但是标题为“参与者,先祖软件包,曾经备份,待处理键/值备份,完整备份队列”,我不确定什么是备份,什么不是备份。

我尝试过,adb shell dumpsys backup -h但这没有任何帮助:

$ adb shell dumpsys backup -h
'dumpsys backup' optional arguments:
  -h       : this help text
  a[gents] : dump information about defined backup agents

概要

我正在寻找有关adb shell dumpsys backup及其所有标头的输出的说明另外,是否有任何文档对此进行了更详细的讨论?也许没有,这就是为什么人们不得不阅读源代码来代替它的原因?

伊兹

我一直在寻找同样的东西,没有很多运气。但是我发现了很多东西,可以在这里作为答案结合在一起,而无需声称完整性或“绝对正确性”:我不是Android开发人员,只是发烧友(超级用户)。在末尾找到我的资源(脚注),并从摘录中引用。我将按输出dumpsys backup并评论我发现的内容。


BackupManager状态

Backup Manager is enabled / provisioned / not pending init
Auto-restore is enabled
Last backup pass started: 0 (now = 1575271089047)
  next scheduled: 1575281388106

这部分应该很清楚。可以用来bmgr enable 0|1停用备份管理器。停用后,将不会进行任何备份(除非通过触发adb backup)。第3 + 4行中的值是Unix时间戳,除了,0这只是意味着根本没有备份。

运输工具

Transport whitelist:
    android/com.android.internal.backup.LocalTransportService
    com.google.android.gms/.backup.component.D2dTransportService
    com.google.android.gms/.backup.BackupTransportService

这些是系统列入白名单的传输方式[2])-尽管消息来源没有说明这是什么意思。它们似乎对应于下一个块中的“可用传输”。

Available transports:
    android/com.android.internal.backup.LocalTransport
       destination: Backing up to debug-only private cache
       intent: null
  * com.google.android.gms/.backup.BackupTransportService
       destination: *****@gmail.com
       intent: Intent { cmp=com.google.android.gms/.backup.SetBackupAccountActivity }
       @pm@ - 3794 state bytes
       com.google.android.dialer - 124 state bytes
       com.google.android.videos - 72 state bytes
       com.android.providers.settings - 76 state bytes
       ...

可用于备份的传输列表。Google云BackupTransportService是默认的(用标记*),但需要在device([1]上设置一个帐户(D2dTransportService在我看来,设备到设备的传输也是如此)。据我了解,可以使用bmgr transport <transportName>更改默认值,并使用bmgr run运行所有备份到默认传输的备份?)运行备份

请注意,此列表与的输出相对应bmgr list transports本地备份(LocalTransport)似乎是由触发的adb backup

代币

Pending init: 0
Ancestral: 0
Current:   39b423cbcb6862e5

引用来源[5]

要查找备份令牌,请运行adb shell dumpsys backup标记是标签Ancestral:之后的十六进制字符串Current:祖代令牌是指最初设置设备(使用设备设置向导)时用于还原设备的备份数据集。当前令牌是指设备的当前备份数据集(设备当前将其备份数据发送到的数据集)。

这也应该解释“祖先包”(在输出中进一步向下)的含义。

可以请求备份的应用程序

Participants:
  uid: 1000
    com.android.providers.settings
    android
  uid: 1027
    com.android.nfc
  uid: 10004
    com.android.providers.userdictionary
    com.android.providers.blockednumber
    com.android.calllogbackup
  ...

参与者是可以请求备份的应用程序,按AID排序。[1]

备份统计

Ancestral packages: none

对于祖先包,也请参见上文。我不知道如果有的话会怎样(但我假设与ever backed up下面类似);我自己在Android设备上运行“ Google免费”(LineageOS,没有Google Apps),因此从未使用过这一部分。关于这些的更多说明:它们似乎来自不是在同一设备上创建的备份集(或者至少不是来自相同的“迭代”,即,如果它们来自同一物理设备,那是因为工厂-重启)。[2]源代码的481行中,我们找到了注释:

祖先工作资料与用于还原到呼叫者资料的资料相对应。

此外,在[3]BackupManager参考中:

如果设备的工作配置文件已从另一个工作配置文件(序列号为ancestralSerialNumber)恢复,则祖先序列号将具有相应的UserHandle。

最后,在[4]备份指南中:

在初始设备设置向导期间,将向用户显示可用备份数据集的列表,并询问用户从中还原数据。无论选择哪个备份数据集,都将成为设备的祖先数据集。设备可以从其自己的备份或祖先数据集中还原。如果两个来源的备份均可用,则设备会优先考虑自己的备份。如果用户没有通过设备设置向导,则设备只能从自己的备份中还原。

Ever backed up: 66
    com.android.cellbroadcastreceiver
    com.allrecipes.spinner.free
    com.google.android.youtube
    ...

这似乎是不言自明的:已经属于备份集的应用程序的数量和列表。

Pending key/value backup: 47
    BackupRequest{pkg=com.google.android.dialer}
    BackupRequest{pkg=com.google.android.videos}
    BackupRequest{pkg=com.android.cellbroadcastreceiver}
    ...

我没有找到任何参考,但是从上面可以很好地猜测是这些“参与者”已请求备份,而他们的请求尚未得到处理。

Full backup queue:68
    0 : com.jb.gokeyboard.langpack.ja
    0 : com.Splitwise.SplitwiseMobile
    1575154802432 : com.google.android.gsf.login
    1575156372751 : com.google.android.backuptransport
    1575159051168 : com.google.android.ext.services
    ...

在此[1]注释中列出了Last backup : package nameLast backup很可能再次是Unix时间戳或0何时尚未备份)。在设备上,备份队列位于中的设备上/data/backup


我希望我能够阐明一些,以上信息对您(和其他人)有用。您可能会发现下面提到的源代码提供的更多详细信息-尤其是在扫描源代码([2])时,我可能会错过一些信息。

资料来源

  1. Android Internals :: A糖果制作指南-Jonathan Levin撰写的WikiLeaks相关部分摘录:应用程序备份和还原这本书的网站上找到详细信息
  2. 的源代码 BackupManagerService.java
  3. BackupManager参考手册
  4. 自动备份开发人员指南
  5. 备份测试开发人员指南

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Android中命令“ adb shell dumpsys meminfo”的结果是“ Other dev”是什么?

来自分类Dev

自Android 5.0 Lollipop以来,adb shell dumpsys iphonesubinfo不起作用

来自分类Dev

android dumpsys batteryinfo与android dumpsys batterystats

来自分类Dev

android dumpsys batteryinfo与android dumpsys batterystats

来自分类Dev

android dumpsys权限拒绝

来自分类Dev

是否有adb / shell命令在android的通知栏上列出项目?

来自分类Dev

Android dumpsys cpuinfo输出说明

来自分类Dev

如何轻松查看内置shell命令的手册页?

来自分类Dev

info命令是否显示手册页?

来自分类Dev

为什么shell内置插件没有正确的手册页?

来自分类Dev

为什么shell内置插件没有正确的手册页?

来自分类Dev

TOP命令与dumpsys cpuinfo:哪个更准确?

来自分类Dev

Android dumpsys活动输出格式

来自分类Dev

Android dumpsys meminfo“ Swap Dirty”意思是?

来自分类Dev

Android dumpsys活动输出格式

来自分类Dev

如何有效地使用手册页?

来自分类Dev

grep带有连字符选项的命令的手册页

来自分类Dev

grep带有连字符选项的命令的手册页

来自分类常见问题

如何使用adb shell列出android手机中的所有文件?

来自分类Dev

相同命令的手册页是否根据源而有所不同?

来自分类Dev

相同命令的手册页是否根据源而有所不同?

来自分类Dev

在android dumpsys中获取当前可见片段的信息

来自分类Dev

在android dumpsys中获取当前可见片段的信息

来自分类Dev

有没有使用自动工具禁用手册页生成的典型方法?

来自分类Dev

有没有使用自动工具禁用手册页生成的典型方法?

来自分类Dev

从Android中的ADB Shell手动安装SD卡

来自分类Dev

手册页窗口中可用的命令在哪里记录,这些命令是否与系统相关?

来自分类Dev

如何在Android中使用ADB Shell命令?

来自分类Dev

为什么有些命令有手册页,而其他命令却使用--help?

Related 相关文章

  1. 1

    Android中命令“ adb shell dumpsys meminfo”的结果是“ Other dev”是什么?

  2. 2

    自Android 5.0 Lollipop以来,adb shell dumpsys iphonesubinfo不起作用

  3. 3

    android dumpsys batteryinfo与android dumpsys batterystats

  4. 4

    android dumpsys batteryinfo与android dumpsys batterystats

  5. 5

    android dumpsys权限拒绝

  6. 6

    是否有adb / shell命令在android的通知栏上列出项目?

  7. 7

    Android dumpsys cpuinfo输出说明

  8. 8

    如何轻松查看内置shell命令的手册页?

  9. 9

    info命令是否显示手册页?

  10. 10

    为什么shell内置插件没有正确的手册页?

  11. 11

    为什么shell内置插件没有正确的手册页?

  12. 12

    TOP命令与dumpsys cpuinfo:哪个更准确?

  13. 13

    Android dumpsys活动输出格式

  14. 14

    Android dumpsys meminfo“ Swap Dirty”意思是?

  15. 15

    Android dumpsys活动输出格式

  16. 16

    如何有效地使用手册页?

  17. 17

    grep带有连字符选项的命令的手册页

  18. 18

    grep带有连字符选项的命令的手册页

  19. 19

    如何使用adb shell列出android手机中的所有文件?

  20. 20

    相同命令的手册页是否根据源而有所不同?

  21. 21

    相同命令的手册页是否根据源而有所不同?

  22. 22

    在android dumpsys中获取当前可见片段的信息

  23. 23

    在android dumpsys中获取当前可见片段的信息

  24. 24

    有没有使用自动工具禁用手册页生成的典型方法?

  25. 25

    有没有使用自动工具禁用手册页生成的典型方法?

  26. 26

    从Android中的ADB Shell手动安装SD卡

  27. 27

    手册页窗口中可用的命令在哪里记录,这些命令是否与系统相关?

  28. 28

    如何在Android中使用ADB Shell命令?

  29. 29

    为什么有些命令有手册页,而其他命令却使用--help?

热门标签

归档