Recuerda que en la informática cualquier problema casi siempre tiene varias resoluciones, por lo tanto te mostraremos lo más óptimo y mejor.
Solución:
aapt
la herramienta se envía con el SDK de Android, que se encuentra en platform-tools
debe darle los detalles que necesita. apktool se envía con aapt.
aapt d --values badging payload.apk
Usando esta salida, puede extraer el archivo de icono de apk (que es un archivo zip).
- Cambie el nombre del archivo .apk a .zip
- Descomprímelo con una herramienta como 7zip
- Encuentre los iconos como archivos png en:
/res/drawable-hdpi/icon.png
Editar: tenga en cuenta que este archivo no está presente en todos los archivos apk, pero sí en la mayoría de ellos. No pude encontrar una mejor solución además de extraer todos los archivos .png y elegir uno de la lista.
//if your apk is not installed ..only having .apk on sdcard
String APKFilePath = "mnt/sdcard/myapkfile.apk"; //For example...
PackageManager pm = getPackageManager();
PackageInfo pi = pm.getPackageArchiveInfo(APKFilePath, 0);
// the secret are these two lines....
pi.applicationInfo.sourceDir = APKFilePath;
pi.applicationInfo.publicSourceDir = APKFilePath;
//
Drawable APKicon = pi.applicationInfo.loadIcon(pm);
String AppName = (String)pi.applicationInfo.loadLabel(pm);
puedes referirte a este enlace
Ícono de obtener apk
Si entiendes que te ha sido de ayuda este post, nos gustaría que lo compartas con el resto entusiastas de la programación y nos ayudes a dar difusión a este contenido.