我已经成功地创建了各种帐户身份验证器/服务,每个都有自己的preference.xml。这些偏好是持久的,但我不知道它们存储在手机的哪个位置。我已经使用 adb 搜索了手机,但似乎找不到与我的特定帐户首选项相对应的 *.db 或“shared_prefs”文件。
有人有这方面的经验吗?
我已经成功地创建了各种帐户身份验证器/服务,每个都有自己的preference.xml。这些偏好是持久的,但我不知道它们存储在手机的哪个位置。我已经使用 adb 搜索了手机,但似乎找不到与我的特定帐户首选项相对应的 *.db 或“shared_prefs”文件。
有人有这方面的经验吗?
我想知道同样的事情,因为我正在搜索 android 将捆绑“附加”与帐户一起存储的位置。
它位于 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
据我所知,/data/system/users/0/accounts.db
在当前的 android 版本上不再使用。
我在 中找到了我的所有帐户数据/data/system_de/0/accounts_de.db
。
此外,似乎缓存了相当多的谷歌身份验证信息/data/system_ce/0/accounts_ce.db
很可能不会,因为通常您不必关心 android 存储共享首选项的位置。
如果您使用自定义帐户首选项活动,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 模拟器。