Androidアプリはどこにデータを保存しますか?


97

回答:


92

すべてのアプリ(ルートまたはそうでない)には、デフォルトのデータディレクトリがあります/data/data/<package_name>。デフォルトでは、アプリのデータベース、設定、その他すべてのデータがここに保存されます。アプリが膨大な量のデータを保存することを期待している場合、または他の理由で「内部ストレージに便利」を希望する場合、SDCardに対応するディレクトリがあります(Android/data/<package_name>)。

それとは別に、制限がないため、すべてのアプリはSDCardのどこにでもデータを保存できます。多くのアプリがそうしています。彼らはディレクトリ名を自由に使用することができます(そして再び使用します)。これは、多くの場合、カード上のすべての「ジャンク」の目的と削除可能なものを決定するのを難しくします。

ようものの、トムは指摘し、ルート-アプリはあなたのデバイス上でほとんどどこでも自分のデータを格納することができ、彼らは通常、他のアプリと同じ規則に従います。

Androidディレクトリ階層の一般的な説明は、こちらの回答にあります。特定の質問については、/data/data/<package_name>(および対応するSD部分)に詳細を追加します。

  • databases/:ここにアプリのデータベースを移動します
  • lib/:アプリのライブラリとヘルパー
  • files/:その他の関連ファイル
  • shared_prefs/:設定と設定
  • cache/:まあ、キャッシュ

この場所にはさらにいくつかのディレクトリが存在する場合もあれば、それよりも少ないディレクトリも存在する可能性があります。すべてはアプリに依存します。独自の「ホームディレクトリ」(そして、それが基本的にLinuxの言葉で言えばそれです)で、彼らは望む場所にファイルを置くことができます。通常、これらのファイルとディレクトリは、すべてのアプリがアクセスできるSDCardに保存されているものを除き、アプリ自体(およびもちろんルート)のみがアクセスできます。


1
developer.android.com/guide/topics/data/…で/data/data/<name>/files/説明されているように作成されたファイルはどこにありますか?すなわち、それらは?FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_PRIVATE);
誰も

一般的には、これはすでに良い答えですが、developer.android.com / guide / topics / data /への参照を追加するのはどうでしょうか。
誰も

@Nobody 2)このページは開発者向けであり、このサイトはエンドユーザー向けですか?1)と同じです。私は開発者ではなく、開発の詳細を尋ねます。ごめんなさい。
イジー

1
私は、SDカードを持っている、と私のAndroidの6とAndroidの7、のWhatsAppにして大量のデータを保存していない/storage/emulated/0/WhatsApp/(サブディレクトリ.Shared.trashBackupsDatabasesMediaすべてのメディアを含みます)、。これがに追加されているかどうかはわかりませんが、\data\data...現在このディレクトリにアクセスできません。これはバージョン間で変更された可能性があります。
sancho.s

1
@Shayanルートディレクトリ(/)はSDカードにありません。SDカードとは、以下/sdcard(内部カード、を指す/storage/emulated/<user>)または外部カードの対応するパスを意味します。いいえ、アプリが使用する可能性のあるすべての場所を説明することはできません。申し訳ありません。AFAIK /data/miscはAndroidシステム自体によって管理されているため、「単なるアプリ」にはせいぜい読み取りアクセス権が必要です。遭遇data/user_deしたことはありません(相対パスなので、とにかくどういう意味かわかりません)。
イジー

9

あなたが尋ねているあなたの質問に対する答えは大きすぎます。ただし、基本事項を網羅した基本的な回答を提供できます。

アプリには、
ルートルートの 2種類があります。

ルートアプリは基本的にファイルを好きな場所に保存/変更できます。

非ルートアプリは、ここにファイルを保存/変更することのみでき/sdcard/ます。
ほとんどの場合、インストールされたアプリは、/sdcard/Android/dataまたはに保存されます/sdcard/Android/obb
一部のアプリでは、セーブゲーム/設定データファイルを/sdcard/APPNAME/、またはに保存/sdcard/

します。ルートアプリを使用するには、Androidデバイスをルート化し、スーパーユーザーアプリのいずれかから許可を与える必要があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.