1 votes

Que signifient le tiret et le numéro qui suivent le nom d'un paquet installé ?

Par exemple, si j'installe Google Chrome sur mon téléphone (supposons qu'il ne soit pas préinstallé), quel que soit le nom d'origine du fichier apk, il sera généralement installé dans /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 numéro dans ce cas et comment il est généré? Il varie souvent et je n'ai trouvé aucun indice.

3voto

Guillermo Gomez Points 423

Le nombre n'a pas de significations particulières. Il est utilisé pour distinguer les anciens et les nouveaux packages pendant l'installation. Lors de l'installation d'une application, le Programme d'installation de paquets trouve d'abord un schéma 'packageid-numéro' disponible, le numéro augmentant de 1, et crée le répertoire (fichier APK pour Android 5.0 et moins). Ensuite, il place le fichier APK dedans et supprime l'ancien. Par conséquent, le nombre varie généralement de 1 à 2 car une seule instance d'une application installée existe. En ajoutant l'ancienne application et le nom temporaire, il ne peut y avoir que 2 instances. Si vous avez, par d'autres moyens comme installer 2 fois la même application en utilisant 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 Terminal Emulator pour surveiller les changements de contenu du répertoire.
Préparation: Utiliser XInstaller (un module Xposed) pour permettre l'installation de downgrade d'une application (pour que je puisse 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écutez de manière répétée

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

Rendu:
Premier: com.termux-1
Après un certain temps: com.termux-1 com.termux-2
Après plus de temps et enfin: com.termux-2
3. Appuyez sur le fichier APK pour l'installer à nouveau et répétez l'Étape 2.
Rendu:
Premier: com.termux-2
Après un certain temps: com.termux-1 com.termux-2
Après plus de temps et enfin: com.termux-1
4. Créez des répertoires de substitution nommés com.termux-2, com.termux-3, com.termux-4 et définissez les autorisations correctes.
5. Répétez l'Étape 3.
Rendu:
Premier:

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 enfin:    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 je les ai créés, et non 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 d'abord le package, un "-1" sera ajouté au nom du dossier. Chaque fois que vous mettez à jour le même package sans le désinstaller, peu importe comment, le numéro s'incrémente automatiquement.

0 votes

A fait quelques expériences et je vais répondre moi-même.

1 votes

Se réjouit à l'avance. Expérience dédiée > expérience occasionnelle.

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