2016-02-19 28 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 

谷歌強加備份限制,也許這就是爲什麼,爲什麼數據沒有被備份。