1 votes

Que signifient le trait d'union et le chiffre qui suivent le nom d'un paquet installé ?

Par exemple, si j'installe Google Chrome sur mon téléphone (en supposant qu'il n'est pas préinstallé), quel que soit le nom original de l'apk, il sera généralement installé à l'adresse suivante /data/app/com.android.chrome-1.apk mais parfois /data/app/com.android.chrome-2.apk et même xxx-3.apk ou xxx-4.apk
Ma question est de savoir ce que signifie le chiffre dans ce cas et comment il est généré. Il varie souvent et je n'ai pas trouvé d'indice.

3voto

Guillermo Gomez Points 423

Ce numéro n'a pas de signification particulière. Il est utilisé pour distinguer les anciens et les nouveaux paquets pendant l'installation . Lors de l'installation d'une application, le programme d'installation de paquets trouve d'abord un modèle "packageid-number" disponible, le nombre étant incrémenté à partir de 1, et crée le répertoire (fichier APK pour Android 5.0 et moins). Il y place ensuite le fichier APK et supprime l'ancien. Par conséquent, le plus souvent, le nombre ne varie que de 1 à 2 car il n'existe qu'une seule instance d'une application installée. En additionnant l'ancienne application et le nom temporaire, il ne peut y avoir que 2 instances. Si vous avez, par d'autres moyens comme l'installation de 2 de la même application à l'aide d'un conteneur parallèle, il peut y avoir jusqu'à 4 instances de l'application, créant ainsi com.example-4 .

Voici mon expérience sur Android 5.1.1, en utilisant Root Explorer pour installer l'application et l'émulateur de terminal pour surveiller le changement de contenu du répertoire.
Préparation : Utiliser XInstaller (un module Xposed) pour permettre le downgrade de l'installation d'une application (afin de pouvoir installer plusieurs fois la même version d'une application).
1. Appuyez sur le fichier APK préparé dans Root Explorer pour l'installer. Dans mon cas, c'est Termux.
2. Exécuter à plusieurs reprises

root@android:/data/app # ls -d com.termux-\*

出力します。
D'abord : com.termux-1
Après un certain temps : com.termux-1 com.termux-2
Après plus de temps et finalement : com.termux-2
3. Appuyez sur l'APK pour l'installer à nouveau et répétez l'étape 2.
出力します。
D'abord : com.termux-2
Après un certain temps : com.termux-1 com.termux-2
Après plus de temps et finalement : com.termux-1
4. Créez des répertoires de remplacement nommés com.termux-2 , com.termux-3 , com.termux-4 et définir les permissions correctes.
5. Répétez l'étape 3.
出力します。
D'abord :

com.termux-1  com.termux-2  com.termux-3  com.termux-4Après un certain temps :    com.termux-1  com.termux-2  com.termux-3  com.termux-4  com.termux-5Après plus de temps et finalement :    com.termux-2  com.termux-3  com.termux-4  com.termux-5Où `com.termux-2` , `com.termux-3` , `com.termux-4` sont tous vides car ils ont été créés par moi, et non par le programme d'installation de paquets. Pour vérifier, exécutez

root@android:/data/app # pm list packages -f | grep com.termux
package:/data/app/com.termux-5/base.apk=com.termux

2voto

Andy Yan Points 9360

Si vous installez le paquet pour la première fois, un "-1" sera ajouté au nom du dossier. Chaque fois que vous mettez à jour le même paquet sans le désinstaller, quelle que soit la manière dont vous le faites, le nombre s'incrémente de lui-même.

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