我有各种各样的文件,我不想通过new Marshmallow Autobackup feature备份 - 一个Realm数据库,一个我用来存储的共享Prefs文件"最近见过"信息,日志文件等。
我不想仅为<exclude ... />
使用<include ... />
,而是简单地备份我做关心的唯一文件 - 用户设置,存储在中默认共享首选项。文档表明,使用<full-backup-content>
<include domain="sharedpref" path="?"/>
</full-backup-content>
会自动排除未明确包含的每个文件。
我使用哪条路径作为默认的共享首选项文件?
your.package.name_preferences
答案 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"
。