それぞれ独自のpreference.xmlを使用して、さまざまなアカウントオーセンティケーター/サービスを作成することに成功しました。これらの設定は永続的ですが、電話のどこに保存されているかわかりません。adb を使用して電話を調べましたが、特定のアカウントの設定に対応する *.db または「shared_prefs」ファイルが見つからないようです。
誰でもこれを経験したことがありますか?
それぞれ独自のpreference.xmlを使用して、さまざまなアカウントオーセンティケーター/サービスを作成することに成功しました。これらの設定は永続的ですが、電話のどこに保存されているかわかりません。adb を使用して電話を調べましたが、特定のアカウントの設定に対応する *.db または「shared_prefs」ファイルが見つからないようです。
誰でもこれを経験したことがありますか?
Androidがバンドル「エクストラ」をアカウントで保存した場所を探していたので、同じことを疑問に思いました。
これは 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
ほとんどの場合、そうではありません。通常、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 エミュレーターからのものです。