美文网首页
android:allowBackup = false后编译报错

android:allowBackup = false后编译报错

作者: yszero | 来源:发表于2019-04-22 10:44 被阅读0次

    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”:

    <application
            android:allowBackup="false"
            android:icon="@drawable/logo"
            android:label="@string/app_name"
            android:theme="@style/AppTheme"
            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配置带来的风险

    相关文章

      网友评论

          本文标题:android:allowBackup = false后编译报错

          本文链接:https://www.haomeiwen.com/subject/eqaegqtx.html