Android账户管理器存储账户特定的偏好设置在哪里?

7
我已成功创建了各种带有自己preference.xml的账户认证器/服务。这些偏好设置是持久的,但我不知道它们在手机上存储的位置。我使用adb搜索了手机,但似乎找不到与我的特定账户偏好设置相对应的*.db或“shared_prefs”文件。有人有相关经验吗?
4个回答

9

当我在搜索android存储“extras”数据时,我也很好奇。它存储在SQLite数据库中(您需要root手机才能提取和浏览它):

/data/system/users/0/accounts.db

你需要找到你的应用程序账户:
sqlite> select * from accounts;
24|john.doe|com.evernote|

然后使用ID查找额外的内容:

sqlite> select * from extras where accounts_id = 24;
70|24|userId|8305749

3
据我所知,/data/system/users/0/accounts.db在当前的Android版本中基本上已经不再使用。
我发现所有的账户数据都在/data/system_de/0/accounts_de.db中。
此外,相当多的Google身份验证信息似乎被缓存在/data/system_ce/0/accounts_ce.db中。

0
如果您使用自定义帐户首选项活动,则PreferenceManager.getDefaultSharedPreferences()会显示默认首选项存储在应用程序包的首选项文件夹中。例如,如果您有:
    <manifest package="com.my.app.account" ... >

设置被存储在

    /data/data/com.my.app.account/shared_prefs/com.my.package.account_preferences.xml

这些结果来自于 Android 2.3 模拟器。


0
很可能不需要,因为通常情况下你不需要关心Android存储共享首选项的位置。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接