AndroidManifest文件的android:allowBackup屬性
Android API Level 8及其以上Android系統(tǒng)提供了為應(yīng)用程序數(shù)據(jù)的備份和恢復(fù)功能,此功能的開關(guān)決定于該應(yīng)用程序中AndroidManifest.xml文件中的allowBackup屬性值[1] ,其屬性值默認(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)損失。
鏈接:http://blog.csdn.net/itluochen/article/details/52601848
AndroidManifest文件里的tools:replace
1、將一個工程當(dāng)做lib庫
2、主工程引用此lib庫
3、當(dāng)lib庫中與主項目的Manifest中定義了相同屬性時,就會報如下錯誤:
Error:Execution failed for task ':MediaTest:processDebugManifest'. (備注:MediaTest是項目名稱)
Manifest merger failed : Attribute application@icon value=(@mipmap/ic_launcher) from AndroidManifest.xml:5:45-79
is also present at [RobotApplication:CarvpAPIs:unspecified] AndroidManifest.xml:16:9-36 value=(@mipmap/icon).
Suggestion: add 'tools:replace="android:icon"' to <application> element at AndroidManifest.xml:5:5-14:19 to override.
這是由于AndroidStudio的Gradle插件默認(rèn)會啟用Manifest Merger Tool
鏈接:http://blog.csdn.net/w250shini11/article/details/52352004
AndroidManifest文件的android:screenOrientation屬性
android:screenOrientation設(shè)定該活動的方向,該值可以是任何一個下面的字符串:
"unspecified"
- 默認(rèn)值. 由系統(tǒng)選擇顯示方向. 在不同的設(shè)備可能會有所不同.
"landscape"
- 橫向
"portrait"
- 縱向
"user"
- 用戶當(dāng)前的首選方向
"behind"
- 與在活動堆棧下的活動相同方向
"sensor"
- 根據(jù)物理方向傳感器確定方向. 取決於用戶手持的方向, 當(dāng)用戶轉(zhuǎn)動設(shè)備, 它跟隨改變.
"nosensor"
- 不經(jīng)物理方向傳感器確定方向. 該傳感器被忽略, 所以當(dāng)用戶轉(zhuǎn)動設(shè)備, 顯示不會跟隨改變. 除了這個區(qū)別,系統(tǒng)選擇使用相同的政策取向?qū)丁拔粗付ā痹O(shè)置. 系統(tǒng)根據(jù)“未指定”("unspecified")設(shè)定選擇相同顯示方向.