Clase no encontrada: paquete de paquete cuando se usa paquetInstaller de git
-
28-10-2019 - |
Pregunta
Esta es una pregunta muy precisa sobre el proyecto de código abierto del instalador de paquetes alojado en el proyecto de código de Google: http://android.ambefog.com/?p=98
Cuando trato de compilarlo, obtengo un ClassNotFoundException
Excepción para esta clase:android.content.pm.PackageParser
.
Realmente no entiendo lo que sucede, ya que esta clase es parte de Android SDK pero no documentada en Android Docs.
¿Alguien usó ese paquete antes y sabe cómo compilarlo?
Solución
ACTUALIZADO
Está intentando compilar la aplicación PackageInstaller, que es la aplicación que Google envía como parte del sistema Android, y que utiliza algunas API que están ocultas del SDK público (como android.content.pm.PackageParser
). Hay pocas técnicas disponibles para acceder a esa API oculta, pero incluso si pudiera compilar paquetes de paquetes no se ejecutará porque requiere pocos permisos (como android.permission.INSTALL_PACKAGES
) que se puede otorgar a la solicitud solo cuando está firmado con el certificado del sistema. Y solo el proveedor del dispositivo puede hacer eso.
Pero déjame preguntarte, ¿por qué necesitas compilar la aplicación PackageInstaller? El autor del artículo en http://android.ambefog.com/?p=98 muestra cómo instalar/desinstalar el .APK enviando el Intent
a Google PackageInstaller Aplicación. No necesita recompilar paquetInstaller para poder hacerlo.
Otros consejos
Supongo que tienes que sacar todo el código de Android del repositorio y compilarlo. Puede intentar descargar solo la clase que necesita y todas sus dependencias.