我已成功创建各种帐户身份验证器/服务,每个帐户身份验证器/服务都有自己的preference.xml。这些偏好是持久的,但我不知道它们存储在手机的哪个位置。我使用adb搜索了手机,但我似乎无法找到与我的特定帐户的首选项对应的* .db或“shared_prefs”文件。
任何人都有这方面的经验吗?
答案 0 :(得分:8)
我想知道同样的事情,因为我正在搜索android存储Bundle“extras”的帐户。
它位于SQLite数据库中(您需要根据手机提取并浏览它):
/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
答案 1 :(得分:1)
据我所知,/data/system/users/0/accounts.db
在当前的android版本上已不再使用。
我在/data/system_de/0/accounts_de.db
中找到了所有帐户数据。
另外,很多Google身份验证信息似乎已缓存在/data/system_ce/0/accounts_ce.db
答案 2 :(得分:0)
很可能不是,因为通常你不必关心android存储共享首选项的位置。
答案 3 :(得分:0)
如果您使用custom account preference activity,则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模拟器。