您的位置:首页 > 移动开发 > Android开发

Android清单文件android:allowBackup=”false”的使用

2016-01-20 15:37 344 查看

AndroidManifest.xml文件的allowBackup属性值的讲解

一、alloBackup的作用

Android API Level 8开始提供了为应用程序备份和恢复数据的功能,此功能的开关可以通过应用程序中AndroidManifest.xml文件的allowBackup属性值进行配置,默认是True,所以用户可以对我们应用程序进行数据备份。
其实allowBackup的风险原理主要是允许通过adb backup对打开USB调试的设备进行数据备份,一旦得到备份文件之后那就不好说了,譬如邪恶的人可以再通过adb restore将你的数据恢复到自己的设备上,然后就完全在自己的设备上以你的名义去玩弄App;或者通过代码分析出备份文件中你登陆App的一些账户密码等核心信息。总之,Google当初设计的核心肯定是为了方便备份数据考虑的,但是大家自己开发的应用似乎忽略了手机丢失或者被他人捡到的问题,譬如通讯录或者名片、支付类等App如果一旦出现此类问题后果还是很严重的,所以有必要重视一下。

二、使用adb命令备份数据使用的步骤

1、从手机A中将应用的数据备份到电脑上的命令:

C:\Users\Administrator>adb backup -f back.ab -noapk 包名
Now unlock your device and confirm the backup operation.
[/code]
这个命令的参数如下:
adb backup [-f <file>] [-apk|-noapk] [-shared|-noshared] [-all] [-system|nosystem] [<packages...>]
你可以使用的最基本的命令是很简单的
adb backup -all
它将使用默认方式备份应用和设备的数据(不包含apk)到当前目录下并保存为文件backup.ab
※这个命令有可能不对每个设置都有效,如果你出现像这种 "adb: cannot open file ./backup.ab"的错误,使用 adb backup -all -f C:\backup.ab来代替,其中路径C:\可根据喜好替换
对各个参数的解释:
-f <file>
用这个来选择备份文件存储在哪里,例如-f /backup/mybackup.ab将会使文件存储在根磁盘(Windows的C盘等等)下一个名为backup的文件夹里,并且备份文件名为mybackup.ab
-apk|-noapk
这个决定是否在备份里包含apk或者仅仅只备份应用数据,个人推荐使用-apk以免有的应用在应用市场找不到,如果不使用则默认的是-noapk
-shared|-noshared
这个参数用于决定是否备份设备共享的SD card内容,默认是-noshare,主要包括内部存储中的音乐、图片和视频,因此为保险起见,建议加上-share
-all
这个参数是一种简单地表达“所有应用”的说法,package参数可以选择备份单独的应用,如果你不是备份某个应用,使用-all备份整个系统
-system|-nosystem
这个参数决定-all标签是否包含系统应用,默认的是-system,根据情况可选择是否用-nosystem
<packages...>
如果你知道应用安装包的名称(例如com.google.android.apps.plus),就可以使用该参数备份特定应用。

2、将备份到电脑上的数据备份到另一台手机B中

C:\Users\Administrator>adb restore back.abNow unlock your device and confirm the restore operation.
[/code]
通过上边这个命令就将手机A中备份的文件拷贝到手机B中,这样在手机A中应用的数据就会备份在手机B中了,如果该应用程序有记住账号密码等功能,这样就会泄露手机A中的数据。导致安全漏洞。

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: