2016-02-19 116 views
2

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

它对运行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:尝试调用虚拟方法“无效com.google.android .gms.backup.dra(android.content.Context)”对空对象引用

是否有人知道为什么这个工程对我的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" 

但与相同的结果。

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

+0

这很奇怪。经过一些投资后,不仅在尝试恢复我自己的应用程序时引发异常,而且还尝试了所有应用程序。这发生在我自己的设备以及运行棒棒糖的重要其他设备上。同步appdata已启用(我的意思是,我可以备份,但不能恢复)。带有棉花糖的Nexus 5没有这个问题。 – Petroj

+0

[BackupAgent:“无法恢复软件包...”的可能重复](https://stackoverflow.com/questions/4662952/backupagent-unable-to-restore-package) –

回答

0

尝试改变运输:

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

谷歌强加备份限制,也许这就是为什么,为什么数据没有被备份。