¿En qué lugar del sistema de archivos se instalan las aplicaciones?

He instalado algunas aplicaciones de Android tanto con el adb install MyApplication.apkcomando como a través de un servidor web (como una alternativa a Android Market).

Pero, ¿en qué parte del sistema de archivos de Android de mi teléfono se encuentra el MyApplication.apkarchivo? ¿Las aplicaciones instaladas adb installno están ubicadas en el mismo directorio que las aplicaciones descargadas de Market?

Encontré algunas aplicaciones /system/apppero no puedo reconocerlas como algunas descargadas de Android Market o la que tengo instalada con adb install.

¿En qué parte del sistema se encuentran las aplicaciones que he instalado?

Mi teléfono no está rooteado y estoy ejecutando Nexus One con Android 2.2.1.

Respuestas (4)

El lugar donde se almacena una aplicación depende en gran medida de varios criterios:

  • Las aplicaciones del sistema/aplicaciones de bloatware preinstaladas se almacenan /system/appcon aplicaciones privilegiadas /system/priv-app(que se montan en modo de solo lectura para evitar cualquier cambio). También puede encontrar aplicaciones del sistema en /custpack/applos subdirectorios de .
  • las aplicaciones normales en la memoria interna van a/data/app
  • algunas aplicaciones (¿encriptadas en el almacenamiento interno?) van a/data/app-private
  • Las aplicaciones almacenadas en la memoria externa van a un contenedor cifrado en formato /mnt/sdcard/.android_secure. Como en el tiempo de ejecución, Android necesita que se descifren, los descifrará y almacenará una copia descifrada tmpfs(por lo que se ha reiniciado) en /mnt/asec
    (no puede simplemente mirar /mnt/sdcard/.android_securedirectamente desde el dispositivo; pero si usa un lector de tarjetas y adjunta el tarjeta a su PC, verá que los archivos allí tienen la extensión .asecen lugar de .apk-- desde donde obtendrá la conexión con el nombre /mnt/asec).
  • los datos de las aplicaciones se almacenan a continuación /data/data/<package_name>(almacenamiento interno) o en almacenamiento externo, si el desarrollador cumple con las reglas , a continuación /mnt/sdcard/Android/data/<package_name>.
¿Esta respuesta es igualmente válida para KitKat, Lollipop y Marshmallow?
@jdmc Todavía no puedo decir sobre Nougat, y no tengo Marshmallows para verificar, pero que yo sepa, sí.
@Izzy tiene que preguntarse qué pensarán los primeros arqueólogos web sobre ese comentario dentro de 100 años...
@geotheory podrían pensar que nos pagan con dulces :)
Sí, esto parece seguir siendo válido en Marshmallow.
Android anterior a K (exclusivo) no tiene /system/priv-app. En cambio, todo va a /system/app.
@Izzy Gracias mucho por esta información precisa. ¿Puedo pedirle amablemente que proporcione un enlace a las fuentes / referencias que utilizó? Me gustaría verificar si todo esto aún se aplica a la última versión de Android, especialmente 10+.
Después de 9 años, es poco probable que alguien recuerde las fuentes precisas utilizadas para una respuesta, @Pascal, por lo que me temo que tendrá que ver con la fuente mencionada en mi respuesta. Todavía es cierto, más o menos (no estoy seguro si /custpack/todavía se usa), aunque se han agregado algunos "niveles". La mayoría de las cosas se pueden comparar en el dispositivo, incluso sin root.

Están almacenados, /data/app/pero a menos que su teléfono esté rooteado, todo lo que verá es una carpeta vacía.

¡Mi Droid Bionic está rooteado, pero la carpeta de datos aún se muestra vacía en DDMS!
@IgorG. Nunca he usado DDMS y apenas tengo experiencia con eclipse, así que no creo que pueda ayudar. Yo haría esto como una nueva pregunta.
Si está utilizando DDMS, no está consultando el dispositivo como lo haría un usuario 'raíz', por lo que la carpeta /data está vacía. Puede usar adb shelly luego supara rootear, o chmod 777 /datay chmod 777 /data/apppara permitir que DDMS enumere los contenidos. Solo asegúrese de establecer los permisos de estas carpetas nuevamente en 771 cuando haya terminado.

En mi Xperia ray con Android 4.0.4 (ICS), se almacenan en archivos /mnt/asec/XXX-1/pkg.apk. XXXes el ID de Google Play de la aplicación.
Por ejemplo, Firefox se encuentra en /mnt/asec/org.mozilla.firefox-1/pkg.apky Skype se encuentra en /mnt/asec/com.skype.raider-1/pkg.apk.

Siguiendo el comentario de zuul, tomé estas capturas de pantalla de mi teléfono para confirmar mi respuesta.


Firefox

Firefox


Cronómetro y temporizador de cuenta regresiva

Cronógrafo



Y estos son los datos de mi teléfono:

Detalles de mi Xperia Ray

¿Tiene algún enlace oficial para corroborar esto, como para proporcionar más información sobre este cambio?
no, no tengo ningún enlace y no puedo tomar capturas de pantalla en mi Xperia Ray no rooteado. Si está utilizando una aplicación como X-plore o Solid Explorer, puede navegar a ese directorio para verificarlo.
@Zuul: Todavía no tengo ningún enlace, pero logré tomar capturas de pantalla de mi teléfono para corroborar el reclamo. Y... si tienes algún enlace que demuestre lo contrario, publícalo aquí para que yo también me informe.
No hay enlaces que mencionen lo contrario, le pregunté si tenía algún enlace para que yo leyera sobre el "por qué" que condujo a su decisión de cambiar la estructura del directorio. Más adelante, buscaré en la Documentación de Google y me pondré en contacto con usted con el enlace para que lo coloque en su respuesta. Gracias por el problema con las capturas de pantalla, +1 de mi parte.
Aunque solo se aplica a la copia descifrada de las aplicaciones instaladas en el almacenamiento externo (verifique con el mountcomando y pregunte: /mnt/asecutiliza tmpfs, un sistema de archivos temporal creado en RAM, y por lo tanto se reinicia, junto con todas las aplicaciones =:-0)
Nexus one tiene el mismo directorio (Android 2.3.6), pero solo para algunas aplicaciones, algunas no están allí

En mi Kindle Fire, muchas de las aplicaciones que no he instalado desde mi tienda de aplicaciones (apks de fuentes externas, por ejemplo: Aptoide, etc.) están en mi carpeta de descargas. Los otros los encuentro en mi carpeta /system/app.