是否有适用于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
并评论我发现的内容。
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 name
(Last backup
很可能再次是Unix时间戳或0
何时尚未备份)。在设备上,备份队列位于中的设备上/data/backup
。
我希望我能够阐明一些,以上信息对您(和其他人)有用。您可能会发现下面提到的源代码提供的更多详细信息-尤其是在扫描源代码([2]
)时,我可能会错过一些信息。
BackupManagerService.java
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句