android:allowBackup = false后编译报错



一、解决BUG

腾讯云-移动应用安全检测结果:

漏洞名称 风险级别 漏油描述
allowBackUp
文件备份漏洞
中风险 在AndroidManifest.xml若将allowBackUp属性设为true,
用户即可通过adb buckup命令备份文件数据并通过
adb restore命令将备份文件导入

漏洞代码:allowBackUp option do not disable in AndroidManifest

文件位置:AndroidManifest.xml

修复建议:在应用正式发布之前将AndroidManifest.xml文件中的allowBackUp属性值设置为false

我根据它的建议进行了修改,然而当我运行程序时,编译报错。。。

Error:Execution failed for task ':app:processDebugManifest'.

Android studio 在报错提示的下方推荐add tools:replace=”android:allowBackup”。

于是在,在application节点下加入 tools:replace=”android:allowBackup”:

然后问题得到解决。

二、android:allowBackup这到底是个什么

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

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


作者 @yszero
2019年04月22日


参考:详解Android App AllowBackup配置带来的风险

更多相关文章

  1. Android面试系列文章2018之ListView篇
  2. Android(安卓)ListView分页加载数据Demo
  3. Android(安卓)开发之 ClipboardManager
  4. 文本中的值的保存与恢复
  5. [Android]Service和Activity双向通信的两种方式
  6. Android利用Soap读取WebService并且解析XML的DataSet数据
  7. Android(安卓)Content Provider Guides
  8. Android调用 .Net Core WebApi 返回数据,用FastJSON解析一直报错
  9. android之按钮添加声音

随机推荐

  1. c语言中strstr函数的用法是什么?
  2. c语言六种基本语句是什么
  3. c语言strcmp函数用法是什么?
  4. 学习c语言用什么软件
  5. c语言用什么函数来比较字符串大小?
  6. system()函数是什么
  7. c语言六种基本语句是哪些?
  8. c语言函数由哪两部分组成
  9. c语言在gcc中怎么运行程序?
  10. c语言的源程序不必通过编译就可以执行对