Android “什么是”呢;安卓:allowBackup;?

Android “什么是”呢;安卓:allowBackup;?,android,adt,compiler-warnings,android-lint,android-backup-service,Android,Adt,Compiler Warnings,Android Lint,Android Backup Service,自启动以来,它们有一个新的lint警告,告诉我清单文件(在应用程序标记中)的下一件事: 应该显式地将android:allowBackup设置为true或false(默认情况下为true,这可能会对应用程序的数据产生一些安全影响) 在报告中,他们写道: 两个新检查:您必须明确决定您的应用程序是否允许备份,并进行标签检查。有一个新的命令行标志用于设置库路径。对编辑时的增量林特分析进行了许多改进 这是什么警告?备份功能是什么?如何使用它 还有,为什么警告告诉我它有安全隐患?禁用此功能的缺点和优点是什

自启动以来,它们有一个新的lint警告,告诉我清单文件(在应用程序标记中)的下一件事:

应该显式地将android:allowBackup设置为true或false(默认情况下为true,这可能会对应用程序的数据产生一些安全影响)

在报告中,他们写道:

两个新检查:您必须明确决定您的应用程序是否允许备份,并进行标签检查。有一个新的命令行标志用于设置库路径。对编辑时的增量林特分析进行了许多改进

这是什么警告?备份功能是什么?如何使用它

还有,为什么警告告诉我它有安全隐患?禁用此功能的缺点和优点是什么


清单的备份有两个概念:

  • “android:allowBackup”允许通过adb进行备份和恢复,如图所示:
是否允许应用程序参与备份和 恢复基础设施。如果此属性设置为false,则不进行备份 或者应用程序的恢复将永远执行,即使是由 否则会导致所有应用程序数据丢失的完整系统备份 可通过亚洲开发银行保存。此属性的默认值为true

这被认为是一个安全问题,因为人们可以通过备份你的应用程序,然后将你的应用程序的私人数据输入他们的电脑

然而,我认为这不是一个问题,因为大多数用户不知道adb是什么,如果他们知道,他们也会知道如何根设备。只有设备启用了调试功能,ADB功能才能工作,这需要用户启用

因此,只有将设备连接到PC并启用调试功能的用户才会受到影响。如果他们的电脑上有一个使用ADB工具的恶意应用程序,这可能是有问题的,因为该应用程序可以读取私有存储数据

我认为谷歌应该在开发者类别中添加一个默认禁用的功能,允许通过ADB备份和恢复应用程序

  • “android:backupAgent”允许使用云的备份和恢复功能,如图所示:
实现应用程序备份代理的类的名称, 备份代理的一个子类。属性值应该是完全相同的 限定类名(例如,“com.example.project.MyBackupAgent”)。 但是,简而言之,如果名称的第一个字符是 句点(例如,.MyBackupAgent),它被附加到包中 元素中指定的名称。没有默认设置。这个 必须指定名称


这不是一个安全问题。

没有明确提到这一点,但根据以下文档,我认为这意味着应用程序需要声明并实现备份代理才能使数据备份正常工作,即使allowBackup设置为true(默认值)


对于此lint警告和所有其他lint警告,请注意,您可以得到比单行错误消息中的内容更全面的解释;你不必在网上搜索更多信息


如果您通过Eclipse使用lint,请打开lint warnings视图,在该视图中可以选择lint错误并查看更详细的解释,或者调用错误行上的快速修复(Ctrl-1),其中一个建议是“解释此问题”,这也将弹出更完整的解释。如果您没有使用Eclipse,则可以从lint(
lint--HTML
)生成一个HTML报告,其中包括警告旁边的完整解释,或者您可以要求lint解释特定问题。例如,与
allowBackup
相关的问题的id为
allowBackup
(显示在错误消息的末尾),因此更全面的解释是:

$ ./lint --show AllowBackup
AllowBackup
-----------
Summary: Ensure that allowBackup is explicitly set in the application's
manifest

Priority: 3 / 10
Severity: Warning
Category: Security
allowBackup
属性确定应用程序的数据是否可以按文档所述进行备份和恢复

默认情况下,此标志设置为
true
。当此标志设置为
true
时,用户可以使用
adb backup
adb restore
备份和还原应用程序数据

这可能会对应用程序产生安全后果<代码>adb备份允许启用USB调试的用户从设备复制应用程序数据。备份后,用户可以读取所有应用程序数据<代码>adb还原允许从用户指定的源创建应用程序数据。恢复后,应用程序不应假定数据、文件权限和目录权限是由应用程序本身创建的

设置
allowBackup=“false”
会将应用程序从备份和恢复中选择出来

要修复此警告,请决定应用程序是否应支持备份,并显式设置
android:allowBackup=(true | false)


单击此处查看

这里是这种意义上的备份的真正含义:

Android的备份服务允许您将持久性应用程序数据复制到远程“云”存储,以便为应用程序数据和设置提供还原点。如果用户执行出厂重置或转换为新的Android设备,系统会在重新安装应用程序时自动恢复备份数据。这样,用户就不需要重现以前的数据或应用程序设置

~z~取自

您可以在此处作为开发人员注册此备份服务:

可以备份的数据类型包括文件、数据库、共享引用、缓存和库。这些文件通常存储在设备的/data/data/[com.myapp]目录中,该目录受读取保护,除非您具有root权限,否则无法访问

更新
您可以在BackupManager的api文档中看到此标志:

它是隐私