AndroidManifest設置android:allowBackup=false

建議設置 android:allowBackup="false"

Android API Level 8及其以上Android系統提供了爲應用程序數據的備份和恢復功能,此功能的開關決定於該應用程序中AndroidManifest.xml文件中的allowBackup屬性值 ,其屬性值默認是true。當allowBackup標誌爲true時,用戶即可通過adb backup和adb restore來進行對應用數據的備份和恢復,這可能會帶來一定的安全風險。

Android屬性allowBackup安全風險源於adb backup容許任何一個能夠打開USB 調試開關的人從Android手機中複製應用數據到外設,一旦應用數據被備份之後,所有應用數據都可被用戶讀取;adb restore容許用戶指定一個恢復的數據來源(即備份的應用數據)來恢復應用程序數據的創建。因此,當一個應用數據被備份之後,用戶即可在其他Android手機或模擬器上安裝同一個應用,以及通過恢復該備份的應用數據到該設備上,在該設備上打開該應用即可恢復到被備份的應用程序的狀態。

尤其是通訊錄應用,一旦應用程序支持備份和恢復功能,攻擊者即可通過adb backup和adb restore進行恢復新安裝的同一個應用來查看聊天記錄等信息;對於支付金融類應用,攻擊者可通過此來進行惡意支付、盜取存款等;因此爲了安全起見,開發者務必將allowBackup標誌值設置爲false來關閉應用程序的備份和恢復功能,以免造成信息泄露和財產損失。

所以如果通常情況下我們都需要將allowBackup屬性設置爲false。

設置android:allowBackup="false"可能會報錯,導致無法編譯。

出現這種情況通常可能是因爲我們引入的一些三方庫中將allowBackup設置爲了true(創建項目的時候默認就是true)。解決辦法也比較簡單就是將三放的allowBackup屬性設置爲false即可,或者在你的AndroidManifest清單文件中添加tools:replace="android:allowBackup"即可。如果有多個需要replace的可以用“,”(半角都好)分隔,例如:tools:replace="android:label,android:allowBackup"

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章