Android 学习记录

AndroidManifest文件的android:allowBackup属性

Android API Level 8及其以上Android系统提供了为应用程序数据的备份和恢复功能,此功能的开关决定于该应用程序中AndroidManifest.xml文件中的allowBackup属性值[1] ,其属性值默认是True。当allowBackup标志为true时,用户即可通过adb backup和adb restore来进行对应用数据的备份和恢复,这可能会带来一定的安全风险。

Android属性allowBackup安全风险源于adb backup容许任何一个能够打开USB 调试开关的人从Android手机中复制应用数据到外设,一旦应用数据被备份之后,所有应用数据都可被用户读取;adb restore容许用户指定一个恢复的数据来源(即备份的应用数据)来恢复应用程序数据的创建。因此,当一个应用数据被备份之后,用户即可在其他Android手机或模拟器上安装同一个应用,以及通过恢复该备份的应用数据到该设备上,在该设备上打开该应用即可恢复到被备份的应用程序的状态。

尤其是通讯录应用,一旦应用程序支持备份和恢复功能,攻击者即可通过adb backup和adb restore进行恢复新安装的同一个应用来查看聊天记录等信息;对于支付金融类应用,攻击者可通过此来进行恶意支付、盗取存款等;因此为了安全起见,开发者务必将allowBackup标志值设置为false来关闭应用程序的备份和恢复功能,以免造成信息泄露和财产损失。

链接:http://blog.csdn.net/itluochen/article/details/52601848

AndroidManifest文件里的tools:replace

1、将一个工程当做lib库

2、主工程引用此lib库

3、当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 element at AndroidManifest.xml:5:5-14:19 to override.

这是由于AndroidStudio的Gradle插件默认会启用Manifest Merger Tool
链接:http://blog.csdn.net/w250shini11/article/details/52352004

AndroidManifest文件的android:screenOrientation属性

android:screenOrientation设定该活动的方向,该值可以是任何一个下面的字符串:

"unspecified"

  • 默認值. 由系統選擇顯示方向. 在不同的設備可能會有所不同.

"landscape"

  • 橫向

"portrait"

  • 縱向

"user"

  • 用戶當前的首選方向

"behind"

  • 與在活動堆棧下的活動相同方向

"sensor"

  • 根據物理方向傳感器確定方向. 取決於用戶手持的方向, 當用戶轉動設備, 它跟隨改變.

"nosensor"

  • 不經物理方向傳感器確定方向. 該傳感器被忽略, 所以當用戶轉動設備, 顯示不會跟隨改變. 除了這個區別,系統選擇使用相同的政策取向對於“未指定”設置. 系統根據“未指定”("unspecified")設定選擇相同顯示方向.

你可能感兴趣的:(Android 学习记录)