无法恢复包

我有一个旧的应用程序,我已通过添加android备份服务进行更新。 我使用BackupAgent从SQLite数据库中的表中获取内容并将其写入JSON文件,然后将其上传。 编码时使用http://developer.android.com/guide/topics/data/backup.html作为参考。

它适用于运行Android 6.0棉花糖的Nexus 5。 当它应该在onRestore上时,onBackup被调用。 当我在运行Lollipop的设备上尝试应用程序时(以及可能是预棒棒糖的设备),就会出现问题。

无法恢复软件包com.zecave.petter.zeblocker

当我使用bmgr时,控制台的输出是否正在使用棒棒糖设备。

LogCat给我这个消息:

02-19 15:59:07.892:E / RestoreSession(948):java.lang.NullPointerException:尝试调用虚拟方法'void com.google.android.gms.backup.dra(android.content.Context)'on a空对象引用

有人知道为什么这对我的Nexus 5与棉花糖工作,但不是我试过的两个设备运行棒棒糖? 上面的消息对我来说没有任何意义,因为我不是从代码调用还原,而是从命令行调用。

部分清单:

    android:allowBackup="true"
    android:icon="@drawable/icon_lightgreen"
    android:label="@string/app_name"
    android:theme="@style/MyMaterialTheme"
    android:restoreAnyVersion="true"
    android:backupAgent="com.zecave.petter.zeblocker.tools.BlacklistBackupAgent" >

    <meta-data android:name="com.google.android.backup.api_key" android:value="AEdPqrEAAAAINjrn1*..." />

我已经尝试了两个

android:backupAgent=".tools.BlacklistBackupAgent" 
android:backupAgent=".BlacklistBackupAgent" 

但是结果相同。

编辑:请参阅下面的评论进一步的解释。 显然,这不仅是我的应用程序在尝试在棒棒糖设备上进行还原时出现此错误。


尝试将运输更改为:

adb shell bmgr transport android/com.android.internal.backup.LocalTransport

Google强加了一个备份限制,也许这就是为什么数据没有被备份的原因。

链接地址: http://www.djcxy.com/p/25495.html

上一篇: Unable to restore package

下一篇: BackupAgent subclass used for automatic restore but not manual restore