从新的ADT预览版本(版本21) .开始,他们有一个新的lint警告,告诉我清单文件(在应用程序标记中)的下一件事:
应该显式设置android:allowBackup为true或false(默认为true,这可能对应用程序的数据有一些安全隐患)
在<强> < / >强官方网站中,他们写了:
一些新的检查:你必须明确决定你的应用程序是否允许备份,以及标签检查。有一个新的命令行标志用于设置库路径。对编辑时的增量绒线分析进行了许多改进。
这个警告是什么?什么是备份功能,如何使用它?
另外,为什么警告告诉我它有安全隐患?禁用此功能的缺点和优点是什么?
清单的备份有两个概念:
是否允许应用程序参与备份和 恢复基础设施。如果此属性设置为false,则不备份 或应用程序的恢复将永远被执行,即使由 全系统备份,否则会导致所有应用程序数据 通过adb拯救。
.该属性默认值为true
这被认为是一个安全问题,因为人们可以通过亚洲开发银行备份你的应用程序,然后将你的应用程序的私人数据保存到他们的PC中。
然而,我认为这不是一个问题,因为大多数用户不知道什么是adb,如果他们知道,他们也会知道如何根设备。ADB功能只有在设备启用调试功能时才能工作,这需要用户启用它。
因此,只有将设备连接到PC并启用调试功能的用户才会受到影响。如果他们的PC上有一个使用ADB工具的恶意应用程序,这可能会有问题,因为应用程序可以读取私有存储数据。
我认为谷歌应该添加一个默认禁用的功能,在开发人员类别中,允许通过ADB备份恢复应用程序。
实现应用程序备份代理的类的名称, BackupAgent的子类。属性值应该是full 限定类名(例如,“com.example.project.MyBackupAgent”)。 但是,作为一种简写,如果名称的第一个字符是 周期(例如,“.MyBackupAgent”),它被追加到包中 元素中指定的名称。没有违约。的
. Name必须指定
这不是一个安全问题。