Qué es un instalador de paquetes de Android?

PackageInstaller

La clase pública PackageInstaller
extende a Object

http://android.content.pm.PackageInstaller

Ofrece la posibilidad de instalar, actualizar y eliminar aplicaciones en el dispositivo. Esto incluye soporte para aplicaciones empaquetadas ya sea como un único APK «monolítico», o aplicaciones empaquetadas como múltiples APKs «divididos».

Una aplicación se entrega para su instalación a través de unPackageInstaller.Session, que cualquier aplicación puede crear. Una vez creada la sesión, el instalador puede transmitir uno o más APKs en su lugar hasta que decida comprometer o destruir la sesión. La confirmación puede requerir la intervención del usuario para completar la instalación.

Las sesiones pueden instalar aplicaciones nuevas, actualizar aplicaciones existentes o añadir nuevas divisiones a una aplicación existente.

Las aplicaciones empaquetadas como múltiples APKs divididos siempre constan de un único APK «base» (con un nombre de división nulo) y cero o más APKs «divididos» (con nombres de división únicos). Cualquier subconjunto de estos APKs puede instalarse conjuntamente, siempre que se cumplan las siguientes restricciones:

  • Todos los APKs deben tener exactamente el mismo nombre de paquete, código de versión y certificados de firma.
  • Todos los APKs deben tener nombres de división únicos.
  • Todas las instalaciones deben contener un único APK base.

El proyecto ApiDemos contiene ejemplos de uso de esta API:ApiDemos/src/com/example/android/apis/content/InstallApk*.java.