1 votos

¿Cómo puedo obtener la lista de todos los paquetes de aplicaciones junto con su etiqueta de actividad desde adb shell?

A veces tengo problemas para hacer coincidir el nombre del paquete de la aplicación en /data/data/ o /data/app/*.apk con la etiqueta de actividad fácil de usar que veo en la GUI.

¿Cómo puedo enumerar los paquetes de aplicaciones junto con sus actividades?

Esperando algo como esto:

$ adb shell list_apps
de.shandschuh.sparserss "Sparse rss"
org.vudroid "VuDroid"
jcpezzullo.statical "StatiCal"
tone.control "Tone Control"
...

0 votos

1 votos

Existe una solución para utilizar aapt en el anfitrión: for i in /directory/with/downloaded/apk/files/*.apk; do printf '%s %s\n' "`aapt dump badging \"$i\" | grep application-label:`" "$i"; done

0voto

Izzy Puntos 45544

Basado en mi respuesta en la pregunta que Andrew enlazó, esto es lo que debería estar en su list_apps script:

for app in $(ls /data/app/*.apk); do
    appname=$(aapt d badging $app | grep 'application: label' | sed -n \"s/.*label\='\([^']*\)'.*/\1/p\")
    pkgname=$(basename $app)
    echo ${pkgname} "${appname}"
done

Ejecuta esto en tu dispositivo Android.

  • Requisitos: O bien una ROM basada en CM con Kitkat o superior (que parece que se envía con el aapt binario) - o un dispositivo rooteado donde se puede instalar aapt en ti mismo ( Encuéntralo aquí ; probado con Android 4.1).
  • Problemas conocidos: el nombre de la aplicación probablemente se trunca cuando contiene una sola comilla (ver sed expresión). Al no tenerlo instalado aquí no he podido probarlo.
  • Sólo se enumeran las aplicaciones de los usuarios. Fácil de arreglar repitiendo el bloqueo para /system/app ;)

0 votos

En el Samsung Galaxy S 5, ls /data produce opendir failed, Permission denied .

1 votos

@StéphaneGourichon requisitos no cumplidos, ver primer punto: hay que ser Root para eso.

0 votos

Punto totalmente válido aunque inesperado. Comentario de Firelord menciona la no-root pero menciona la entrada /data también. Sin embargo, recuerdo haber utilizado una aplicación que hacía esto sin acceso Root. Mi conjetura es, probablemente hay una manera de cumplir con la pregunta del OP en un dispositivo no rooteado, tal vez sólo aapt en otra ubicación temporal.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X