Qu’est-ce qu’un installateur de paquets Android ?


PackageInstaller

Public class PackageInstaller
extends Object


COPY00

Offre la possibilité d'installer, de mettre à niveau et de supprimer des applications sur l'appareil. Cela inclut la prise en charge des apps empaquetées soit comme un seul APK "monolithique", soit comme des apps empaquetées comme plusieurs APK "fractionnés".

Une app est livrée pour l'installation par le biais d'une sessionPackageInstaller.Session, que toute app peut créer. Une fois la session créée, l'installateur peut diffuser un ou plusieurs APK en place jusqu'à ce qu'il décide de commettre ou de détruire la session. Le commit peut nécessiter une intervention de l'utilisateur pour terminer l'installation.

Les sessions peuvent installer de toutes nouvelles apps, mettre à niveau des apps existantes ou ajouter de nouveaux splits dans une app existante.

Les apps empaquetées en tant qu'APK à fractionnement multiple se composent toujours d'un seul APK "de base" (avec un nom de split nul) et de zéro ou plusieurs APK "split" (avec des noms de split uniques). Tout sous-ensemble de ces APK peut être installé ensemble, tant que les contraintes suivantes sont respectées :

  • Tous les APK doivent avoir exactement le même nom de paquet, le même code de version et les mêmes certificats de signature.
  • Tous les APK doivent avoir des noms de scission uniques.
  • Toutes les installations doivent contenir un seul APK de base.

Le projet ApiDemos contient des exemples d'utilisation de cette API:ApiDemos/src/com/example/android/apis/content/InstallApk*.java.