Androidアプリがデータを保存する可能性のあるすべてのディレクトリをリストし、各ディレクトリにどのようなデータが保存されているかを説明してください。
Androidアプリがデータを保存する可能性のあるすべてのディレクトリをリストし、各ディレクトリにどのようなデータが保存されているかを説明してください。
回答:
すべてのアプリ(ルートまたはそうでない)には、デフォルトのデータディレクトリがあります/data/data/<package_name>
。デフォルトでは、アプリのデータベース、設定、その他すべてのデータがここに保存されます。アプリが膨大な量のデータを保存することを期待している場合、または他の理由で「内部ストレージに便利」を希望する場合、SDCardに対応するディレクトリがあります(Android/data/<package_name>
)。
それとは別に、制限がないため、すべてのアプリはSDCardのどこにでもデータを保存できます。多くのアプリがそうしています。彼らはディレクトリ名を自由に使用することができます(そして再び使用します)。これは、多くの場合、カード上のすべての「ジャンク」の目的と削除可能なものを決定するのを難しくします。
ようものの、トムは指摘し、ルート-アプリはあなたのデバイス上でほとんどどこでも自分のデータを格納することができ、彼らは通常、他のアプリと同じ規則に従います。
Androidディレクトリ階層の一般的な説明は、こちらの回答にあります。特定の質問については、/data/data/<package_name>
(および対応するSD部分)に詳細を追加します。
databases/
:ここにアプリのデータベースを移動しますlib/
:アプリのライブラリとヘルパーfiles/
:その他の関連ファイルshared_prefs/
:設定と設定cache/
:まあ、キャッシュこの場所にはさらにいくつかのディレクトリが存在する場合もあれば、それよりも少ないディレクトリも存在する可能性があります。すべてはアプリに依存します。独自の「ホームディレクトリ」(そして、それが基本的にLinuxの言葉で言えばそれです)で、彼らは望む場所にファイルを置くことができます。通常、これらのファイルとディレクトリは、すべてのアプリがアクセスできるSDCardに保存されているものを除き、アプリ自体(およびもちろんルート)のみがアクセスできます。
/data/data/<name>/files/
説明されているように作成されたファイルはどこにありますか?すなわち、それらは?FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_PRIVATE);
/storage/emulated/0/WhatsApp/
(サブディレクトリ.Shared
、.trash
、Backups
、Databases
、Media
すべてのメディアを含みます)、。これがに追加されているかどうかはわかりませんが、\data\data...
現在このディレクトリにアクセスできません。これはバージョン間で変更された可能性があります。
/
)はSDカードにありません。SDカードとは、以下/sdcard
(内部カード、を指す/storage/emulated/<user>
)または外部カードの対応するパスを意味します。いいえ、アプリが使用する可能性のあるすべての場所を説明することはできません。申し訳ありません。AFAIK /data/misc
はAndroidシステム自体によって管理されているため、「単なるアプリ」にはせいぜい読み取りアクセス権が必要です。遭遇data/user_de
したことはありません(相対パスなので、とにかくどういう意味かわかりません)。
あなたが尋ねているあなたの質問に対する答えは大きすぎます。ただし、基本事項を網羅した基本的な回答を提供できます。
アプリには、
ルートと非ルートの 2種類があります。
ルートアプリは基本的にファイルを好きな場所に保存/変更できます。
非ルートアプリは、ここにファイルを保存/変更することのみでき/sdcard/
ます。
ほとんどの場合、インストールされたアプリは、/sdcard/Android/data
またはに保存されます/sdcard/Android/obb
。
一部のアプリでは、セーブゲーム/設定データファイルを/sdcard/APPNAME/
、またはに保存/sdcard/
します。ルートアプリを使用するには、Androidデバイスをルート化し、スーパーユーザーアプリのいずれかから許可を与える必要があります。