Pourriez-vous énumérer tous les répertoires possibles dans lesquels les applications Android peuvent stocker des données, en fournissant une description du type de données stockées dans chaque répertoire?
98
Pourriez-vous énumérer tous les répertoires possibles dans lesquels les applications Android peuvent stocker des données, en fournissant une description du type de données stockées dans chaque répertoire?
Réponses:
Toutes les applications (racine ou non) ont un répertoire de données par défaut, à savoir
/data/data/<package_name>
. Par défaut, les bases de données des applications, les paramètres et toutes les autres données sont accessibles ici. Si une application s'attend à ce que d'énormes quantités de données soient stockées, ou pour d'autres raisons, veuille «être agréable pour le stockage interne», il existe un répertoire correspondant sur la SDCard (Android/data/<package_name>
).En dehors de cela, toutes les applications peuvent stocker des données n'importe où sur la carte SD, car il n'y a aucune restriction - et de nombreuses applications le font. Ils peuvent utiliser les noms de répertoires librement (et ils le font à nouveau), ce qui rend souvent difficile la tâche de décider à quoi sert tout ce "courrier indésirable" de la carte et ce qui peut être supprimé.
Cependant, comme l'a souligné Tom , les applications root peuvent stocker leurs données presque partout sur votre appareil, elles suivent généralement les mêmes règles que les autres applications.
Vous trouverez une explication générale de la hiérarchie des répertoires Android dans ma réponse ici . Pour votre question spécifique, je pourrais ajouter quelques détails supplémentaires sur
/data/data/<package_name>
(et la partie SD correspondante):databases/
: voici les bases de données de l'applicationlib/
: bibliothèques et aides pour l'applicationfiles/
: autres fichiers associésshared_prefs/
: préférences et paramètrescache/
: bien, cachesIl pourrait y avoir plusieurs autres répertoires à cet endroit, ou moins - tout dépend de l'application. Dans son propre "répertoire personnel" (et c'est en gros ce qu'il est, parlé de Linux), ils peuvent placer les fichiers où ils veulent. Habituellement, ces fichiers et répertoires ne sont accessibles que par l'application elle-même (et par la racine bien sûr), à l'exception de ceux stockés sur la carte SD, qui sont accessibles par toutes les applications.
la source
/data/data/<name>/files/
que les fichiers créés comme décrit dans developer.android.com/guide/topics/data/… iraient? C'est-à-dire ceux ouverts avecFileOutputStream fos = openFileOutput(FILENAME, Context.MODE_PRIVATE);
?/storage/emulated/0/WhatsApp/
(subdir.Shared
,.trash
,Backups
,Databases
,Media
), y compris tous les médias. Je ne sais pas si cela s'ajoute\data\data...
, je ne peux pas accéder à ce répertoire maintenant. Peut-être que cela a changé entre les versions./
) ne se trouve pas sur la carte SD. Carte SD signifie ci-dessous/sdcard
(carte interne, pointe vers/storage/emulated/<user>
) ou le chemin correspondant de votre carte externe. Et non, je ne peux pas expliquer tous les emplacements possibles qu'une application pourrait utiliser, désolé; Autant que je sache/data/misc
est géré par le système Android lui-même, les "simples applications" devraient au mieux y avoir un accès en lecture. Jamais rencontrédata/user_de
(comme c'est un chemin relatif, je ne sais pas où tu veux dire quand même).La réponse à votre question que vous posez est trop grande. Je peux cependant vous donner une réponse de base qui couvre les bases.
Il existe deux types d'applications:
root et non root .
Les applications racines peuvent essentiellement stocker / modifier des fichiers où elles veulent.
Les applications non root peuvent uniquement stocker / modifier des fichiers ici:
/sdcard/
et chaque dossier ultérieurement.Généralement, les applications installées se stockent à
/sdcard/Android/data
ou/sdcard/Android/obb
.Certaines applications stockent leurs jeux de sauvegarde / fichiers de données de configuration sur
/sdcard/APPNAME/
, ou simplement sur le./sdcard/
Pour pouvoir utiliser les applications root , vous devez avoir rooté votre appareil Android et avoir obtenu l'autorisation de l'une des applications de super-utilisateur.
la source