如何解决在Android自动备份中破译“由于当时无法处理而拒绝运输的包裹”错误
我一直在尝试遵循Android Auto Backup文档页面上的说明。我不断遇到错误,无法完成应用程序的备份。
首先,我在AndroidManifest中添加了以下两行:
<application
...
android:allowBackup="true"
android:fullBackupContent="@xml/my_backup_rules"
...
</application>
我在my_backup_rules.xml
中用以下几行创建了一个android/app/src/main/res/xml
文件:
<?xml version="1.0" encoding="utf-8"?>
<full-backup-content>
<include domain="file" path="db.realm" />
</full-backup-content>
根据Android Studio,db.realm
文件很大,为18MB,因此这是我计划包含在备份中的唯一文件,以保持在25MB的备份配额之内。
在test documentation之后,我运行adb shell bmgr list transports
并看到以下输出:
* daemon started successfully
com.android.localtransport/.LocalTransport
com.google.android.gms/.backup.migrate.service.D2dTransport
* com.google.android.gms/.backup.BackupTransportService
但是,当我运行下一个测试adb shell bmgr backupnow <PACKAGE>
时,看到以下错误:
Running incremental backup for 1 requested packages.
Package @pm@ with result: Transport rejected package because it wasn't able to process it at the time
Backup finished with result: Transport error
在adb logcat
中,我看到以下内容:
08-12 12:19:28.007 2123 2123 V Bmgr : Running backupnow for user:0
08-12 12:19:28.017 906 2524 D KeyValueBackupTask: Spinning thread key-value-backup-208
08-12 12:19:28.019 906 2147 D PFTBT : backupmanager pftbt token=211e7180
08-12 12:19:28.023 906 2147 V KeyValueBackupTask: Beginning backup of 1 targets
08-12 12:19:28.059 906 906 I TransportClient: BackupTransportService#438: Notifying [KVBT.startTask()] transport = IBackupTransport
08-12 12:19:28.062 906 2147 W Binder : Outgoing transactions from this process must be FLAG_ONEWAY
08-12 12:19:28.062 906 2147 W Binder : java.lang.Throwable
08-12 12:19:28.062 906 2147 W Binder : at android.os.BinderProxy.transact(BinderProxy.java:480)
08-12 12:19:28.062 906 2147 W Binder : at com.android.internal.backup.IBackupTransport$Stub$Proxy.name(IBackupTransport.java:869)
08-12 12:19:28.062 906 2147 W Binder : at com.android.server.backup.keyvalue.KeyValueBackupTask.startTask(KeyValueBackupTask.java:414)
08-12 12:19:28.062 906 2147 W Binder : at com.android.server.backup.keyvalue.KeyValueBackupTask.run(KeyValueBackupTask.java:344)
08-12 12:19:28.062 906 2147 W Binder : at java.lang.Thread.run(Thread.java:919)
08-12 12:19:28.065 906 2147 D KeyValueBackupTask: Starting key-value backup of @pm@
08-12 12:19:28.095 906 2147 D KeyValueBackupTask: Invoking agent on @pm@
08-12 12:19:28.095 906 5761 D BackupTransportManager: Transport com.google.android.gms/.backup.BackupTransportService updated its attributes
08-12 12:19:28.104 906 2147 V BackupAgentTimeout: getKvBackupAgentTimeoutMillis(): 30000
08-12 12:19:28.116 906 2147 I BackupRestoreController: Getting widget state for user: 0
08-12 12:19:28.157 29692 31059 I Backup : [GmsBackupTransport] Performing encrypted kv backup: @pm@
08-12 12:19:28.252 906 2147 I RecoverableAppKeyStore: Get 0/10114/com.google.android.gms.backup/folsom/<TOKEN>
08-12 12:19:28.319 497 497 W /vendor/bin/hw/android.hardware.keymaster@3.0-service: Not performing software digesting for symmetric cipher keys
08-12 12:19:28.421 497 497 I chatty : uid=9999(nobody) keymaster@3.0-s identical 2 lines
08-12 12:19:28.421 497 497 W /vendor/bin/hw/android.hardware.keymaster@3.0-service: Not performing software digesting for symmetric cipher keys
08-12 12:19:28.455 29692 29714 I gle.android.gm: Waiting for a blocking GC ProfileSaver
08-12 12:19:28.482 29692 29714 I gle.android.gm: WaitForGcToComplete blocked ProfileSaver on HeapTrim for 26.699ms
08-12 12:19:28.497 29692 29704 I gle.android.gm: WaitForGcToComplete blocked Background on ProfileSaver for 14.700ms
08-12 12:19:29.159 29692 31059 I Backup : [GmsBackupTransport] Backup finished for @pm@
08-12 12:19:29.178 906 2147 I KeyValueBackupTask: K/V backup pass finished
08-12 12:19:29.179 906 2147 D KeyValueBackupTask: Starting full backups for: [<PACKAGE>]
08-12 12:19:29.184 906 2160 I PFTBT : Initiating full-data transport backup of <PACKAGE> token: <TOKEN>
08-12 12:19:29.193 29692 31059 I Backup : [GmsBackupTransport] Attempt to do full backup on <PACKAGE>
08-12 12:19:29.294 29692 31059 I Backup : [FullBackupSession] Using encrypted processor for <PACKAGE>
08-12 12:19:29.335 906 2160 I RecoverableAppKeyStore: Get 0/10114/com.google.android.gms.backup/folsom/<TOKEN>
08-12 12:19:29.365 906 2160 I PFTBT : Transport rejected backup of <PACKAGE>,skipping
08-12 12:19:29.365 906 2160 I PFTBT : Unbinding agent in <PACKAGE>
08-12 12:19:29.366 906 2160 W ActivityManager: Unbinding backup agent with no active backup
08-12 12:19:29.366 906 2160 I PFTBT : Full backup completed with status: 0
根据Troubleshooting文档,Transport rejected backup of <PACKAGE>,skipping
错误消息表明我已超出配额。但是我的db.realm文件小于25MB,这是我设置为在.xml中备份的唯一内容,因此我不确定为什么会出现此错误。
与此同时,在测试设备(Pixel XL)上,我可以转到“设置”>“系统”>“备份”,并确认“备份到Google云端硬盘”已打开。其他应用程序的备份正在运行。我在设备上设置了锁定屏幕,因为这似乎是我遇到的早期问题之一,导致我无法运行备份。
关于如何克服此错误的任何建议?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。