6 votes

Vérifier le stockage utilisé par une application ?

Existe-t-il un moyen de vérifier l'espace de stockage utilisé par une application tierce, c'est-à-dire quel espace de stockage est utilisé par une application tierce ? ces qu'il utilise ?

9voto

Chahk Points 19297

Si vous êtes enraciné, il est assez facile de le découvrir.

Vous devez d'abord trouver le nom du paquet de l'application, par ex. com.swype.android.inputmethod pour Swype, ou com.google.android.apps.maps pour Google Maps, par exemple. Vous pouvez généralement rechercher l'application dans Marché Android et le lien contiendra le nom du paquet, par exemple https://market.Android.com/details?id=com.google.Android.apps.maps serait le lien vers Google Maps. En général, les noms des paquets sont suffisamment descriptifs pour que vous puissiez deviner quelle application ils représentent simplement en la regardant.

Vous pouvez faire quelques simples ls commandes dans Emulateur de terminal o ADB pour trouver le nom de l'application et l'endroit où elle est stockée. Cependant, vous devrez disposer d'un accès Root à l'appareil, car le stockage des applications et des données est protégé.

Les apps préinstallées sont généralement situées dans /system/app répertoire. Utilisez la commande ls -l /system/app/ pour connaître l'espace occupé par une application système particulière :

ls -l /system/app/Browser.*
-rw-r--r-- root     root               418098 2011-06-26 01:05 Browser.apk
-rw-r--r-- root     root               472760 2011-06-26 01:05 Browser.odex

Dans la plupart des ROMs stock, vous verrez un fichier .odex et un fichier .apk pour chaque application - ce sont des binaires précompilés optimisés pour votre appareil. Vous ne pouvez pas les supprimer.

Des applications tierces sont installées pour /data/app o /data/app-private les répertoires. Commande ls -l /data/app/[package_name_here]* devrait retourner la quantité d'espace occupée par cette application sur la mémoire interne. Par exemple, voici le résultat de la consultation de l'apk Google Maps :

# ls -l /data/app/com.google.android.apps.maps*
ls -l /data/app/com.google.android.apps.maps*
-rw-r--r-- system   system            6330104 2012-02-04 09:01 com.google.android.apps.maps-2.apk

Les données et les paramètres de l'application se trouvent sur /data/data/ partition. Vous y trouverez un répertoire pour chaque application installée, par ex. /data/data/com.google.android.apps.maps/ pour les préférences et les paramètres liés à l'application Google Maps. Encore une fois, ls -l /data/data/com.google.android.apps.maps/* retournera une liste de tous les fichiers avec leurs tailles :

# ls -l /data/data/com.google.android.apps.maps/*
ls -l /data/data/com.google.android.apps.maps/*
-rw------- app_189  app_189              3783 2012-02-07 11:29 mobilemaps.clients.google.com.443
-rw------- app_189  app_189                37 2012-02-01 16:14 nlp_GlsPlatformKey
-rw------- app_189  app_189               208 2012-02-07 11:21 macs
drwxrwx--x app_189  app_189                     2012-02-01 16:14 webviewCache
-rw------- app_189  app_189              2450 2012-02-07 11:21 nlp_state
drwx------ app_189  app_189                     2012-02-01 16:14 selectors
-rw------- app_189  app_189               290 2012-02-07 11:21 nlp_devices
drwx------ app_189  app_189                     2012-02-01 16:14 models
-rw-rw---- app_189  app_189             18432 2012-02-03 13:29 google_analytics.db
-rw-rw---- app_189  app_189              5120 2012-02-07 10:38 google_latitude.db
-rw-rw---- app_189  app_189              6144 2012-02-01 16:14 webviewCache.db
-rw-rw---- app_189  app_189              5120 2012-02-05 17:27 local_active_places.db
-rw-rw---- app_189  app_189              4096 2012-02-05 17:27 da_destination_history
-rw-rw---- app_189  app_189              5120 2012-02-05 17:49 LayerInfo
-rw-rw---- app_189  app_189              5120 2012-02-05 17:26 search_history.db
-rw-rw---- app_189  app_189              6144 2012-02-03 13:29 userfeedback.db
-rw-rw---- app_189  app_189             14336 2012-02-01 16:14 webview.db
-rw-rw---- app_189  app_189                38 2012-02-07 11:13 DATA_SYNC_DATA_LOCAL
-rw-rw---- app_189  app_189             26756 2012-02-01 16:31 DATA_PHOTO_145479516184369608
-rw-rw---- app_189  app_189             26756 2012-02-01 16:31 DATA_PHOTO_4406538396446325405
-rw-rw---- app_189  app_189              1813 2012-02-05 13:48 DATA_PROTO_CLIENT_SAVED_PHOTO_CACHE
-rw-rw---- app_189  app_189               338 2012-02-06 23:41 DATA_TILE_HISTORY
-rw-rw---- app_189  app_189                12 2012-02-05 17:49 DATA_SAVED_REMOTE_ICONS_DATA_BLOCK
-rw-rw---- app_189  app_189             36580 2012-02-01 16:14 DATA_RemoteStringsBlock_en
-rw-rw---- app_189  app_189             26756 2012-02-01 16:31 DATA_PHOTO_240647554975296207
-rw-rw---- app_189  app_189             26756 2012-02-01 16:31 DATA_PHOTO_443613581827136957
-rw-rw---- app_189  app_189              5620 2012-02-05 17:49 DATA_SAVED_BGFS_3
-rw-rw---- app_189  app_189                57 2012-02-05 17:49 DATA_STARRING
-rw-rw---- app_189  app_189               573 2012-02-05 10:04 NavZoomTables.data
-rw-rw---- app_189  app_189             26756 2012-02-01 16:31 DATA_PHOTO_-7991748045000310303
-rw-rw---- app_189  app_189               217 2012-02-05 15:29 DATA_LAYER_4
-rw-rw---- app_189  app_189             26756 2012-02-01 16:14 DATA_PHOTO_-4352347968798340772
-rw-rw---- app_189  app_189             26756 2012-02-01 16:31 DATA_PHOTO_-1960244636679913737
-rw-rw---- app_189  app_189             26756 2012-02-01 16:31 DATA_PHOTO_7546641620697631512
-rw------- app_189  app_189                34 2012-02-07 11:21 nlp_clts
-rw-rw---- app_189  app_189              2492 2012-02-07 11:30 DATA_location_history
-rw-rw---- app_189  app_189                11 2012-02-01 16:14 DATA_LAYER_0
-rw-rw---- app_189  app_189              1186 2012-02-01 16:14 ZoomTables.data
-rw-rw---- app_189  app_189                11 2012-02-05 17:49 DATA_SAVED_BGFS_EXTRA_3
-rw-rw---- app_189  app_189             18994 2012-02-05 17:49 DATA_PROTO_SAVED_CATEGORY_TREE_DB
-rw-rw---- app_189  app_189               247 2012-02-05 17:49 event_store_v2_driveabout
-rw-rw---- app_189  app_189              5294 2012-02-05 10:05 DA_LayerInfo
-rw-rw---- app_189  app_189               380 2012-02-05 16:23 DATA_LAYER_5
-rw-rw---- app_189  app_189             11387 2012-02-05 17:49 DATA_SYNC_DATA
-rw------- app_189  app_189                35 2012-02-07 11:21 cp_state
-rw-rw---- app_189  app_189             26756 2012-02-01 16:31 DATA_PHOTO_-6319433669272599441
-rw-rw---- app_189  app_189                76 2012-02-01 16:14 DATA_ServerControlledParametersManager.data
-rw-rw---- app_189  app_189             26756 2012-02-01 16:31 DATA_PHOTO_-4787236618283354619
-rw-rw---- app_189  app_189                57 2012-02-01 16:14 DATA_star_details_index
-rw-rw---- app_189  app_189             26756 2012-02-01 16:31 DATA_PHOTO_-7325828578927889496
-rw-rw---- app_189  app_189                76 2012-02-05 17:27 DATA_ServerControlledParametersManager_DA.data
-rw-rw---- app_189  app_189             26756 2012-02-01 16:31 DATA_PHOTO_-5041077772587057686
-rw-rw---- app_189  app_189                42 2012-02-05 17:26 DATA_PROTO_SAVED_RECENT_LAYERS
-rw-rw---- app_189  app_189                21 2012-02-05 10:04 DATA_SAVED_BGSF_
-rw-rw---- app_189  app_189               263 2012-02-05 11:30 DATA_LAYER_2
-rw-rw---- app_189  app_189                26 2012-02-01 16:14 NavigationParameters.data
-rw-rw---- app_189  app_189               330 2012-02-05 17:27 DA_DirOpt_en_US
-rw-rw---- app_189  app_189             26756 2012-02-01 16:31 DATA_PHOTO_-4817178430903221341
-rw-rw---- app_189  app_189             26756 2012-02-01 16:31 DATA_PHOTO_8476874153932292760
-rw-rw---- app_189  app_189            141298 2012-02-05 17:27 DATA_Restrictions
-rw-rw---- app_189  app_189                29 2012-02-05 17:49 DATA_PROTO_SAVED_LAYER_STATE
-rw------- app_189  app_189                61 2012-02-01 16:14 nlp_params
-rw-rw---- app_189  app_189                 0 2012-02-05 17:27 DATA_Restrictions_lock
-rw-rw---- app_189  app_189             26756 2012-02-01 16:31 DATA_PHOTO_8041021750103678571
-rw-rw---- app_189  app_189             10237 2012-02-03 13:28 DATA_star_details_0
-rw-rw---- app_189  app_189                 6 2012-02-05 17:49 DATA_RECENT
-rw-rw---- app_189  app_189              5048 2012-02-06 23:41 DATA_Preferences
-rw-rw---- app_189  app_189                65 2012-02-01 16:14 network_initiated_prefs.xml
-rw-rw---- app_189  app_189                65 2012-02-01 16:14 friends_app_widget_preferences.xml
-rw-rw---- app_189  app_189              1269 2012-02-01 16:14 ids.xml
-rw-rw---- app_189  app_189               250 2012-02-03 13:27 settings_preference.xml
-rw-rw---- app_189  app_189                65 2012-02-01 16:14 cache_settings_preference.xml
-rw-rw---- app_189  app_189               358 2012-02-07 11:28 checkin_notification_preferences.xml
-rw-rw---- app_189  app_189               119 2012-02-01 16:14 com.google.android.apps.maps_preferences.xml
-rw-rw---- app_189  app_189               345 2012-02-05 17:49 DriveAbout.xml
-rw-rw---- app_189  app_189               317 2012-02-07 10:38 LOCATION_REPORTING.xml

Android 2.2 (Froyo) a introduit la possibilité de déplacer des applications vers la carte SD (ou "stockage externe" sur certains appareils). Cela introduit un niveau de complexité puisque des parties de l'application sont déplacées. Pour chaque application que vous déplacez vers la carte SD/zone multimédia, le système crée un point de montage virtuel nommé /dev/block/dm-X où "X" est un numéro séquentiel. Il y déplace le fichier APK (Android package) de l'application et certaines préférences. Vous pouvez voir cela en émettant un mount dans un émulateur de shell/terminal. Avec les autres montages habituels, il devrait montrer quelles applications ont été déplacées sur la carte SD comme dans l'exemple ci-dessous :

/dev/block/dm-0 /mnt/asec/com.metago.astro-1 vfat ro,dirsync,nosuid,nodev,relatime,uid=1000,fmask=0222,dmask=0222,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
/dev/block/dm-1 /mnt/asec/com.a0soft.gphone.aTrackDog-1 vfat ro,dirsync,nosuid,nodev,relatime,uid=1000,fmask=0222,dmask=0222,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0

Ici, j'ai déplacé les applications Astro file manager et aTrackDog sur la carte SD de mon téléphone. Utilisez ls /mnt/asec/ pour voir les répertoires créés pour les applications déplacées. Exécution de la commande ls -l /mnt/asec/* affichera la taille des fichiers dans ces dossiers :

# ls -l -a /mnt/asec/*
ls -l -a /mnt/asec/*
-r-xr-xr-x system   root               332826 2012-02-07 11:21 pkg.apk
dr-xr-xr-x system   root                        2012-02-07 11:21 lib
-r-xr-xr-x system   root              2363522 2012-02-07 11:18 pkg.apk
dr-xr-xr-x system   root                        2012-02-07 11:18 lib

L'enveloppe de la partition virtuelle est stockée dans un dossier caché ".android_secure" de la carte SD :

# ls -a -l /mnt/sdcard/.android_secure
ls -a -l /mnt/sdcard/.android_secure
----rwxr-x system   sdcard_rw          4290560 2012-02-07 11:18 com.metago.astro-1.asec
----rwxr-x system   sdcard_rw          2161664 2012-02-07 11:21 com.a0soft.gphone.aTrackDog-1.asec

Une fois déplacé, l'APK de l'application ne se trouvera plus sous la rubrique /data/app/ o /data/app-private/ les dossiers.

Une autre zone intéressante est Dalvik Cache - une zone qui contient des données en cache pour chaque application installée. Lors du premier démarrage ou de l'installation d'une nouvelle application, le système génère un fichier .dex pour chaque application qu'il utilise pour un démarrage plus rapide. Ces fichiers sont stockés sur /data/dalvik-cache/ partition. Commande ls -l /data/dalvik-cache/*[package_name_here]* renvoie l'espace occupé par le cache Dalvik de l'application. Par exemple, voici l'espace occupé par l'application Google Maps :

# ls -l /data/dalvik-cache/*com.google.android.apps.maps*
ls -l /data/dalvik-cache/*com.google.android.apps.maps*
-rw-r--r-- system   app_189           4406016 2012-02-04 09:01 data@app@com.google.android.apps.maps-2.apk@classes.dex

Ensuite, le /cache de la mémoire interne peut être utilisée par des applications. La commande ls -l /cache/ vous montrera tous les fichiers qui y sont stockés, ainsi que leur taille et les informations sur leur propriétaire. Par exemple, sur mon téléphone, voici le résultat :

# ls -l /cache/
ls -l /cache/
-rw-r--r-- app_13   app_13            3640954 2012-02-07 09:16 downloadfile-1.apk
drwxrwx--- system   cache                       2011-12-31 21:03 recovery
drwxrwx--- root     root                        2011-12-31 21:00 lost+found

En plus des répertoires standards, il y a un fichier nommé downloadfile-1.apk qui appartient à un objet nommé "app_13". Je peux faire une référence croisée entre ce nom "app_13" et la liste des éléments suivants ls -l /data/data/ pour voir que ce fichier appartient au téléchargeur intégré d'Android :

# ls -l /data/data/
ls -l /data/data/
......
drwxr-x--x app_13   app_13                      2011-12-31 21:02 com.android.providers.downloads.ui
......

Enfin, les applications peuvent utiliser la carte SD à leurs propres fins, et il n'y a vraiment aucun moyen d'en assurer le suivi, à moins que l'application ne nomme ses dossiers de manière reconnaissable.

1voto

Kevin Points 145

La réponse de Chahk mérite vraiment plus d'attention, excellente réponse.

Je recommande néanmoins l'application DiskUsage qui permet de mieux visualiser l'espace utilisé. Pour obtenir les meilleures fonctionnalités, Root est recommandé, mais pas strictement nécessaire.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X