Où les applications sont-elles installées dans le système de fichiers?

99

J'ai installé quelques applications Android à la fois avec la adb install MyApplication.apkcommande et via un serveur Web (une alternative à Android Market).

Mais où dans le système de fichiers Android de mon téléphone le MyApplication.apkfichier est-il placé? Les applications installées avec adb installne sont-elles pas placées dans le même répertoire que les applications téléchargées à partir du marché?

J'ai trouvé des applications sur /system/appmais je ne peux pas les reconnaître car certaines sont téléchargées à partir d'Android Market ou de celui avec lequel j'ai installé adb install.

Où se trouvent les applications que j'ai installées sur le système?

Mon téléphone n'est pas enraciné et j'utilise Nexus One avec Android 2.2.1.

Jonas
la source

Réponses:

114

Où une application est beaucoup stockée dépend de plusieurs critères:

  • Les applications système / les applications préinstallées de bloatware sont stockées /system/appavec des applications privilégiées dans /system/priv-app (montées en lecture seule pour empêcher toute modification). Vous pouvez également trouver des applications système dans /custpack/apples sous-répertoires de.
  • les applications normales dans la mémoire interne vont à /data/app
  • certaines applications (cryptées sur le stockage interne?) vont à /data/app-private
  • Les applications stockées dans la mémoire externe sont dirigées vers un conteneur chiffré dans /mnt/sdcard/.android_secure. Étant donné qu’au moment de l’exécution, Android a besoin de les déchiffrer, il les déchiffre et en stocke une copie déchiffrée tmpfs(elle a donc été réinitialisée) dans /mnt/asec
    (vous ne pouvez pas simplement regarder /mnt/sdcard/.android_securedirectement à partir de l’appareil; carte sur votre PC, vous verrez que les fichiers ont l’extension .asecau lieu de .apk- à partir de laquelle vous obtiendrez la connexion au nom /mnt/asec).
  • les données des applications sont stockées ci-dessous /data/data/<package_name>(stockage interne) ou sur un stockage externe, si le développeur s'en tient aux règles ci-dessous /mnt/sdcard/Android/data/<package_name>.
Izzy
la source
1
Cette réponse est-elle également valable pour KitKat, Lollipop et Marshmallow?
Jdmc
@jdmc Je ne peux pas encore parler de Nougat et je n'ai pas de guimauve à vérifier - mais à ma connaissance, oui.
Izzy
1
@Izzy dois me demander ce que les archéologues du début de l'histoire du Web penseront à ce commentaire dans 100 ans ..
geotheory
3
@geotheory ils pourraient penser que nous sommes payés en bonbons :)
Izzy
1
Oui, cela semble rester valable sur Marshmallow.
Not Dog
28

Ils sont stockés /data/app/mais à moins que votre téléphone ne soit enraciné, tout ce que vous verrez est un dossier vide.

Mat
la source
Mon Droid Bionic est enraciné, mais le dossier de données affiche toujours vide dans DDMS!
IgorGanapolsky
@ IgorG. Je n'ai jamais utilisé DDMS et je n'ai pratiquement aucune expérience d'Eclipse, je ne pense donc pas pouvoir vous aider. Je poserais ceci comme une nouvelle question.
Matt
1
Si vous utilisez DDMS, le périphérique n'est pas interrogé comme le ferait un utilisateur «racine», de sorte que le dossier / data est vide. Vous pouvez soit utiliser adb shell, puis suroot, ou chmod 777 /dataet chmod 777 /data/appautoriser DDMS à répertorier le contenu. Assurez-vous simplement de redéfinir les autorisations de ces dossiers sur 771 lorsque vous avez terminé.
AWT
6

Sur mon rayon Xperia Android 4.0.4 (ICS), ils sont stockés dans /mnt/asec/XXX-1/pkg.apk. XXXest l'identifiant Google Play de l'application.
Par exemple, Firefox se trouve sur /mnt/asec/org.mozilla.firefox-1/pkg.apket Skype sur /mnt/asec/com.skype.raider-1/pkg.apk.

Suite au commentaire de zuul, j'ai pris ces captures d'écran de mon téléphone pour confirmer ma réponse.


Firefox

Firefox


Chronomètre et compte à rebours

Chronomètre



Et voici les détails de mon téléphone:

Les détails de mon Xperia Ray

Alex Essilfie
la source
Avez-vous un lien officiel pour corroborer cela, afin de fournir plus d'informations sur ce changement?
Zuul
non, je n'ai pas de lien et je ne peux pas prendre de captures d'écran sur mon Xperia Ray sans racines. Si vous utilisez une application telle que X-plore ou Solid Explorer, vous pouvez accéder à ce répertoire pour le vérifier.
Alex Essilfie
@Zuul: Je n'ai toujours pas de lien, mais j'ai réussi à prendre des captures d'écran de mon téléphone pour justifier l'affirmation. Et ... si vous avez un lien pour prouver le contraire, postez-le ici pour que je sois également informé.
Alex Essilfie
Aucun lien ne mentionnant le contraire, je vous ai demandé si vous aviez un lien à lire sur le "pourquoi" qui a conduit à leur décision de changer la structure de répertoires. Plus tard, j'examinerai la documentation de Google et vous contacterai avec le lien à insérer dans votre réponse. Merci pour le problème avec les captures d'écran, +1 de moi.
Zuul
1
Bien qu’il s’applique uniquement à la copie déchiffrée des applications installées sur un stockage externe (vérifiez avec la mountcommande et wonder: /mnt/asecuses tmpfs, un système de fichiers temporaire créé dans la RAM - et donc redémarré, avec toutes les applications =: - 0)
Izzy
2

Sur mon Kindle Fire, de nombreux apks que je n'ai pas installés depuis mon app store (des apks provenant de sources extérieures, par exemple: Aptoide, etc.) se trouvent dans mon dossier de téléchargement. Les autres que je trouve dans mon dossier / system / app.

utilisateur59907
la source