Android adb
tiene una "instalación de aplicación parcial" :
$ adb install
Android Debug Bridge version 1.0.32
...
adb install [-lrtsd] <file>
adb install-multiple [-lrtsdp] <file...>
- push this package file to the device and install it
(-l: forward lock application)
(-r: replace existing application)
(-t: allow test packages)
(-s: install application on sdcard)
(-d: allow version code downgrade)
(-p: partial application install)
El aviso -p
es "instalación parcial de la aplicación" .
¿Qué es una instalación parcial de la aplicación?
Supongo que la instalación parcial de la aplicación -p: es para instalar paquetes que son una actualización de un paquete existente pero que no son independientes en sí mismos, más o menos cómo Play Store actualiza una aplicación usando actualizaciones delta o inteligentes.
-p
requiere que exista un paquete base y su nombre se pase junto a él, de lo contrario arrojará el error
Error: java.lang.IllegalArgumentException: Missing inherit package name
Si el APK que está pasando no es una actualización incremental de un paquete existente ( PACKAGE
), terminaría con
Failed to finalize session
Failure [INSTALL_FAILED_INVALID_APK: Missing existing base package for PACKAGE]
No tengo ninguna actualización incremental, por lo que no puedo verificar mi propio reclamo, ni tengo ninguna otra evidencia sólida para el reclamo completo además de estos dos:
Un comentario en Tema: 1134353002 hilo
Las divisiones no son .apks normales y solo se pueden instalar a través de "adb install-multiple"
Y este fragmento de código mencionado en el código fuente de PackageInstallerSession.java
demás {// Partial installs must be consistent with existing install
aplicación ApplicationInfo final = mPm.getApplicationInfo(mPackageName, 0, userId); si (aplicación == nulo) { lanza una nueva excepción PackageManager(INSTALL_FAILED_INVALID_APK
, "Missing existing base package for
" +mPackageName
); }
alberto