天天看點

[bmgr]android應用資料備份以及還原

bmgr是一個shell工具你可以用來與備份管理器在android裝置(支援api級别8或更高)。它提供了指令來指導的備份和恢複操作,這樣你不需要反複清除資料或采取類似的侵入性的步驟來測試您的應用程式的備份代理。這些指令是通過adb shell。 

使用備份操作 

通常,應用程式必須通知備份管理器在它的資料已經改變。通過datachanged()。備份管理器将調用您的備份代理的onbackup()實作在未來某個時刻。如果調用datachanged(),可以調用一個備份請求從指令行運作bmgr備份指令。 

指令: 

adb shell bmgr backup <package> 

當您執行該備份指令,您的應用程式的備份代理将調用來執行備份操作在未來一段時間内(通過你的onbackup()方法),盡管沒有保證當它會發生。然而,您可以強制執行所有沒有運作的備份操作,通過使用bmgr運作指令: 

adb shell bmgr run 

這個指令會導緻所有調用備份代理的應用程式的都備份。 

使用恢複操作 

恢複操作不像備份操作,這是成批的在一起運作在一個偶然的基礎上,立即執行恢複操作。備份管理器目前提供了兩種類型的恢複操作。 

第一種恢複整個裝置的資料備份。典型的表現隻有當一個裝置是第一個提供(複制設定和其他儲存的狀态從使用者之前的裝置),是一個操作,隻有系統可以執行。 

第二種恢複操作單個應用程式恢複到它的“活躍的”資料集;也就是說,應用程式将放棄其目前資料和恢複到最後一次正确資料,儲存在目前的備份映像。 

您可以調用第二個恢複操作與requestrestore()方法。備份管理器将調用您的備份代理的onrestore()實作。 

當測試您的應用程式,你可以立即調用恢複操作,繞過requestrestore()方法。使用bmgr恢複指令: 

adb shell bmgr restore <package> 

備份管理器将立即執行個體化應用程式的備份代理和調用它來恢複。這将發生,即使應用程式是目前沒有運作。 

其他指令: 

wiping data(擦拭資料) 

一個應用程式的資料可以被清除從activity資料集合中。這個操作非常有用,當你在開發一個備份代理。以防錯誤引導你寫錯誤的資料或儲存的狀态資訊。你可以擦拭一個應用程式的資料與bmgr擦拭指令: 

adb  shell  bmgr  wipe <package> 

接下來的備份操作應用程式的代理程序将看起來好像應用程式從未支援任何東西之前。 

檢視backup(備份)是否可用 

adb shell bmgr enabled 

如果備份操作可用的,如果您的應用程式的備份代理是從未被調用備份,以驗證作業系統是否認為它應該執行這些操作。 

你也可以直接禁用或啟用備份管理器: 

adb shell bmgr enable <boolean> 

警告! 

當備份是禁用的,目前的備份運輸将明确地擦拭activity中的資料。如果當一個使用者說他們不希望他們的資料備份,備份管理器方面希望。則沒有新的資料将被儲存從裝置,沒有恢複操作将成為完成恢複操作。除非備份管理器是重新啟用(通過設定或通過以上bmgr指令)。

上一篇: VSS,RSS,PSS,USS

繼續閱讀