AndroidManifest設(shè)置android:allowBackup=false

建議設(shè)置 android:allowBackup="false"

Android API Level 8及其以上Android系統(tǒng)提供了為應(yīng)用程序數(shù)據(jù)的備份和恢復(fù)功能,此功能的開關(guān)決定于該應(yīng)用程序中AndroidManifest.xml文件中的allowBackup屬性值 ,其屬性值默認(rèn)是true。當(dāng)allowBackup標(biāo)志為true時,用戶即可通過adb backup和adb restore來進(jìn)行對應(yīng)用數(shù)據(jù)的備份和恢復(fù),這可能會帶來一定的安全風(fēng)險。

Android屬性allowBackup安全風(fēng)險源于adb backup容許任何一個能夠打開USB 調(diào)試開關(guān)的人從Android手機(jī)中復(fù)制應(yīng)用數(shù)據(jù)到外設(shè),一旦應(yīng)用數(shù)據(jù)被備份之后,所有應(yīng)用數(shù)據(jù)都可被用戶讀??;adb restore容許用戶指定一個恢復(fù)的數(shù)據(jù)來源(即備份的應(yīng)用數(shù)據(jù))來恢復(fù)應(yīng)用程序數(shù)據(jù)的創(chuàng)建。因此,當(dāng)一個應(yīng)用數(shù)據(jù)被備份之后,用戶即可在其他Android手機(jī)或模擬器上安裝同一個應(yīng)用,以及通過恢復(fù)該備份的應(yīng)用數(shù)據(jù)到該設(shè)備上,在該設(shè)備上打開該應(yīng)用即可恢復(fù)到被備份的應(yīng)用程序的狀態(tài)。

尤其是通訊錄應(yīng)用,一旦應(yīng)用程序支持備份和恢復(fù)功能,攻擊者即可通過adb backup和adb restore進(jìn)行恢復(fù)新安裝的同一個應(yīng)用來查看聊天記錄等信息;對于支付金融類應(yīng)用,攻擊者可通過此來進(jìn)行惡意支付、盜取存款等;因此為了安全起見,開發(fā)者務(wù)必將allowBackup標(biāo)志值設(shè)置為false來關(guān)閉應(yīng)用程序的備份和恢復(fù)功能,以免造成信息泄露和財產(chǎn)損失。

所以如果通常情況下我們都需要將allowBackup屬性設(shè)置為false。

設(shè)置android:allowBackup="false"可能會報錯,導(dǎo)致無法編譯。

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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容