如何使用Android 6.0备份恢复默认共享首选项?

时间:2016-04-21 14:43:45

标签: android

我有各种各样的文件,我不想通过new Marshmallow Autobackup feature备份 - 一个Realm数据库,一个我用来存储的共享Prefs文件"最近见过"信息,日志文件等。

我不想仅为<exclude ... />使用<include ... />,而是简单地备份我关心的唯一文件 - 用户设置,存储在中默认共享首选项。文档表明,使用<full-backup-content> <include domain="sharedpref" path="?"/> </full-backup-content> 会自动排除未明确包含的每个文件。

我使用哪条路径作为默认的共享首选项文件?

your.package.name_preferences

1 个答案:

答案 0 :(得分:4)

As described here,默认的共享首选项文件名为adb shell run-as your.package.name ls -al shared_prefs 。你可以通过在之后运行以下ADB命令来看到这一点:它们至少被访问过一次:

C:\Users\Adam>adb shell run-as your.package.name ls -al shared_prefs
-rw------- u0_a158  u0_a158       351 1970-01-17 16:54 your.package.name_preferences.xml

输出:

.xml

要备份此文件,您必须按照以下方式指定,包括最后的<manifest ... <application ... android:fullBackupContent="@xml/backup"> .... </manifest>

更新您的清单:

res/xml/backup.xml

并添加<?xml version="1.0" encoding="utf-8"?> <full-backup-content> <include domain="sharedpref" path="your.package.name_preferences.xml"/> </full-backup-content>

.xml

请注意,您必须包含所有共享首选项文件备份的.xml,即使您自己定义了文件名的文件,即使您没有包含代码中文件名中的"dateTimeSent" : "LongValue"