¿Podría enumerar todos los directorios posibles donde las aplicaciones de Android pueden almacenar datos, proporcionando una descripción de qué tipo de datos se almacenan en cada directorio?
¿Podría enumerar todos los directorios posibles donde las aplicaciones de Android pueden almacenar datos, proporcionando una descripción de qué tipo de datos se almacenan en cada directorio?
Respuestas:
Todas las aplicaciones (raíz o no) tienen un directorio de datos predeterminado, que es /data/data/<package_name>
. Por defecto, las bases de datos de aplicaciones, la configuración y todos los demás datos van aquí Si una aplicación espera que se almacenen grandes cantidades de datos, o por otras razones quiere "ser amable con el almacenamiento interno", hay un directorio correspondiente en la tarjeta SD ( Android/data/<package_name>
).
Aparte de eso, todas las aplicaciones pueden almacenar datos en cualquier lugar de la tarjeta SD, ya que no hay restricciones, y muchas aplicaciones lo hacen. Pueden usar los nombres de directorio libremente (y lo vuelven a hacer), que es lo que a menudo hace que sea difícil decidir para qué está destinada toda esa "basura" en la tarjeta y qué se puede eliminar.
Sin embargo, como Tom señaló , las aplicaciones raíz podrían almacenar sus datos en casi cualquier lugar en su dispositivo, por lo general, siguen las mismas reglas que otras aplicaciones.
Puede encontrar una explicación general de la jerarquía de directorios de Android en mi respuesta aquí . Para su pregunta específica, podría agregar más detalles sobre /data/data/<package_name>
(y la parte SD correspondiente):
databases/
: aquí van las bases de datos de la aplicaciónlib/
: bibliotecas y ayudantes para la aplicaciónfiles/
: otros archivos relacionadosshared_prefs/
: preferencias y configuracionescache/
: bueno, cachésPuede haber varios directorios más en este lugar, o menos, todo depende de la aplicación. En su propio "directorio de inicio" (y eso es lo que básicamente es, hablado en términos de Linux) pueden colocar los archivos donde quieran. Por lo general, estos archivos y directorios solo son accesibles desde la aplicación en sí (y la raíz, por supuesto), que no sean los almacenados en la tarjeta SD, a los que todas las aplicaciones pueden acceder.
/data/data/<name>/files/
Dónde irían los archivos creados como se describe en developer.android.com/guide/topics/data/… ? Es decir, los que abrieron FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_PRIVATE);
?
/storage/emulated/0/WhatsApp/
(subdirectorios .Shared
, .trash
, Backups
, Databases
, Media
), incluyendo todos los medios de comunicación. No sé si esto es adicional a \data\data...
, no puedo acceder a este directorio ahora. Quizás esto cambió entre versiones.
/
) no se encuentra en la tarjeta SD. Tarjeta SD significa a continuación /sdcard
(tarjeta interna, puntos /storage/emulated/<user>
) o la ruta correspondiente de su tarjeta externa. Y no, no puedo explicar toda la ubicación posible que podría usar alguna aplicación, lo siento; AFAIK /data/misc
es administrado por el propio sistema Android, por lo que "meras aplicaciones" deberían tener acceso de lectura en el mejor de los casos. Nunca encontrado data/user_de
(como es un camino relativo, no sé a qué te refieres de todos modos).
La respuesta a su pregunta que hace es demasiado grande. Sin embargo, puedo darle una respuesta básica que cubre los conceptos básicos.
Hay dos tipos de aplicaciones:
root y no root .
Las aplicaciones raíz básicamente pueden almacenar / modificar archivos donde quieran.
Las aplicaciones no root solo pueden almacenar / modificar archivos aquí: /sdcard/
y cada carpeta que viene después.
En su mayoría, las aplicaciones instaladas se almacenan en /sdcard/Android/data
o /sdcard/Android/obb
.
Algunas aplicaciones almacenan sus archivos de guardado de juegos / datos de configuración /sdcard/APPNAME/
, o simplemente en el /sdcard/
Para poder usar aplicaciones raíz , deberá haber rooteado su dispositivo Android y haber dado permiso de una de las aplicaciones de superusuario.