Comandos ADB que todo usuario experimentado debe conocer.

Android tiene una excelente herramienta disponible para los desarrolladores llamada Android Debug Bridge, o ADB para abreviar. Se utiliza en Android Studio y de forma manual por los desarrolladores de Android para instalar y probar aplicaciones en teléfonos inteligentes Android y dispositivos Android emulados.

Pero ADB puede hacer muchas cosas, y la mayoría de ellas no solo son útiles para los desarrolladores. Incluso si no eres un desarrollador y estás leyendo este artículo, es muy probable que hayas usado ADB una o dos veces para instalar una aplicación o cambiar un permiso. Pero eso no es todo para lo que se puede utilizar ADB. Siga leyendo para conocer algunos consejos y trucos para usar ADB que quizás no conozca.

Notar: Necesitará tener ADB operativo en su computadora. Asegúrese de consultar nuestro artículo sobre la instalación de ADB si necesita ayuda.


Acceso a Shell

Si ha usado ADB antes, es posible que esté acostumbrado a ejecutar comandos de una sola línea. Pero también puede usar ADB para abrir una terminal en su dispositivo y ejecutar comandos directamente. ¡Y es fácil!

En su terminal o ventana del símbolo del sistema:

adb shell

A continuación, será recibido por un $ símbolo donde puede ejecutar comandos directamente en su dispositivo.

Un caparazón de ADB


Lista de aplicaciones instaladas a través de ADB

Para ver las aplicaciones instaladas en su dispositivo, puede usar el siguiente comando:

adb shell pm list packages

Esto devolverá una lista de los nombres de los paquetes de las aplicaciones instaladas, cada una en su propia línea precedida por package:.

Lista de ADB Shell de paquetes instalados

Opciones

También hay opciones que puede utilizar para recuperar listas más específicas.

  • -F incluirá la ruta del APK base para cada aplicación, junto con el nombre del paquete.
  • -a se asegurará de que se devuelvan todos los paquetes conocidos que no sean APEX.
  • -D el comando solo devolverá paquetes deshabilitados.
  • -mi el comando solo devolverá paquetes activados.
  • -s hará que el comando devuelva solo paquetes del sistema.
  • -3 hará que el comando solo devuelva paquetes de terceros.
  • -I incluirá el nombre del paquete de instalación para cada paquete.
  • -U incluirá el UID del paquete para cada paquete.
  • -u incluirá paquetes desinstalados.
  • –Mostrar código de versión incluirá el código de versión de cada paquete.
  • –Apex-only solo devolverá paquetes APEX.
  • –Uid solo mostrará paquetes con el UID dado.
  • -usuario solo mostrará los paquetes que pertenezcan al ID de usuario dado.

Instalación y desinstalación de aplicaciones a través de ADB

Este es un uso relativamente común de ADB, pero vale la pena mencionarlo de todos modos. Entre otras formas, también puede usar ADB para instalar y desinstalar aplicaciones de Android en su dispositivo Android.

Instalar un APK

Si tiene un APK en su computadora, puede instalarlo en su dispositivo con lo siguiente:

adb install -r someapk.apk

Recuerda reemplazar someapk.apk con la ruta completa del APK que desea instalar.

Opciones

Hay muchas opciones para instalar APK a través de ADB.

  • el -r La opción permite que ADB se instale sobre una aplicación existente (es decir, una actualización). En Android Pie y versiones posteriores, no es necesario especificar esta opción.
  • el -R La opción, para Android Pie y versiones posteriores, hará que la instalación falle si la aplicación ya está instalada.
  • el -I La opción le permite especificar un nombre de paquete de instalación. Esto es lo que se devuelve si Android quiere saber qué instaló el APK.
  • el -t La opción permite un APK con android: testOnly = "true" en su manifiesto para instalar.
  • el -D La opción permite que el APK especificado se reduzca a una aplicación ya instalada. Esto solo funciona si ambas versiones de la aplicación son depurables.
  • el -gramo para Android Marshmallow y versiones posteriores otorga automáticamente todos los permisos de ejecución a la aplicación instalada.

No es todo. Si desea una lista completa, puede consultar la documentación incorporada.

Varios APK y paquetes

Si desea instalar varios APK a la vez, ya sea desde varias aplicaciones o porque está instalando un paquete de aplicaciones, puede usar ADB install-multiple y install-multi-package caracteristicas.

Si todos sus APK son para una aplicación, use install-multiple:

adb install-multiple apk1.apk apk2.apk ...

De lo contrario, use install-multi-package:

adb install-multi-package app1.apk app2.apk ...

Las opciones para estos comandos son similares a install, pero con algunas limitaciones. Consulte la documentación incorporada de ADB para conocer las opciones disponibles.

Desinstalar una aplicación

Para desinstalar usando ADB, necesitará el nombre del paquete de la aplicación que desea desinstalar. Consulte la sección de Lista de aplicaciones instaladas si aún no lo has hecho.

Una vez que tenga el nombre del paquete, desinstalarlo es tan fácil como:

adb uninstall <packagename>

Notar: Por lo general, no puede desinstalar el sistema o las aplicaciones preinstaladas con este comando. Sin embargo, es posible que pueda desactivarlos con ADB. Consultar la sección Deshabilite y habilite casi todas las aplicaciones para detalles.


Extracción de APK con ADB

Hay muchas razones por las que es posible que desee extraer archivos APK de una aplicación. Tal vez desee guardarlo para usarlo en el futuro, o tal vez ya no esté disponible en línea y desee transferirlo a otro dispositivo.

Extraer una aplicación usando ADB es bastante sencillo. Primero, debe encontrar el nombre del paquete de la aplicación que desea extraer. Hay varias formas de hacer esto, pero la más fácil suele ser usar la aplicación Configuración en su dispositivo para que aparezca una lista de todas las aplicaciones instaladas, seleccione la que desee y desplácese hacia abajo hasta encontrar el nombre del dispositivo. Paquete o el ID de la aplicación.

Una vez que tenga el nombre del paquete, ejecute el siguiente comando:

adb shell pm path <packagename>

Este comando devolverá la ruta a todos los APK para ese nombre de paquete.

Una imagen que muestra los resultados de la recuperación de rutas de APK para un paquete instalado.

Luego puede usar el siguiente comando para extraer cada APK a su computadora:

adb pull /path/to/apk.apk


Lista de componentes de la aplicación

Los componentes de una aplicación son cosas como sus actividades, receptores de transmisión, servicios, etc. A veces es útil conocer los nombres de estos componentes en una aplicación específica, especialmente si desea iniciar actividades ocultas o enviar una transmisión con datos específicos.

Desafortunadamente, ADB no tiene un método muy claro para enumerar los componentes de una aplicación. Pero es posible. Ejecute el siguiente comando:

adb shell dumpsys package <packagename>

Se devolverá un montón de texto.

  • Desplácese hacia abajo hasta encontrar el Tabla de resolución de actividad título para ver las actividades.
  • Mira por debajo Tabla de resolución del receptor para receptores de radiodifusión.
  • Compruebe el Tabla de resolución de servicio para servicios.
  • Etc.

Cada componente mostrará la acción necesaria para ejecutarlo, el nombre del componente y posiblemente información adicional.

Tabla de resolución de actividad para un paquete dumpsys

Alternativamente, si desea una forma más fácil de ver actividades, servicios y receptores, puede usar mi aplicación Root Activity Launcher. Le mostrará estos componentes para cada aplicación, junto con un montón de otras funciones útiles.


Lanzamiento de actividades, servicios y receptores de retransmisiones

ADB también se puede utilizar para iniciar actividades, iniciar servicios y notificar a BroadcastReceivers. Incluso puede especificar URI de datos y extras de intención si es necesario.

Para iniciar componentes, necesitará el nombre del componente que desea iniciar. Puede ver cómo obtener esto en el Lista de componentes de la aplicación sección.

La sintaxis del comando para iniciar una actividad se ve así:

am start -a <action> -n <component>

La sintaxis del comando para iniciar un servicio se ve así:

am startservice -a <action> -n <component>

La sintaxis del comando para notificar a un BroadcastReceiver es algo como esto:

am broadcast -a <action> -n <component>

En la mayoría de los casos, para actividades y servicios, no es necesario especificar explícitamente una acción. Por lo general, solo necesitará esto si el componente usa uno diferente al android.intent.action.MAIN.

Además de la sintaxis básica, aquí se explica cómo especificar más datos para pasar. En general, todos los valores de los datos deben ir entre comillas dobles.

  • -D le permite especificar un URI de datos.
  • -mi Donde -es le permite especificar una cadena adicional.
  • –Esn le permite especificar una cadena nula adicional.
  • –Ez se utiliza para especificar un booleano adicional.
  • –Ei se utiliza para especificar un número entero adicional.
  • –El es especificar un extra largo.
  • –Ef pasará un flotador adicional.
  • -UE pasar un URI adicional.
  • –Ecn se puede utilizar para especificar un nombre de componente adicional.
  • –Eia , ... pasará los valores como un número entero[] adicional.
  • –Eial , ... pasará los valores como una lista .
  • Los mismos argumentos de matriz y lista también funcionan para longs, floats y strings. Simplemente reemplace el I con la letra apropiada.
  • -F le permite especificar un indicador.

Hay incluso más opciones de comportamiento que puede usar, así que consulte la documentación incorporada para obtener más detalles.


Deshabilite y habilite casi todas las aplicaciones

Las aplicaciones del sistema en Android no se pueden desinstalar y muchas de ellas tampoco se pueden deshabilitar a través de la configuración. Aunque ADB no le permite desinstalarlos, puede ayudarlo a deshabilitarlos.

Primero, asegúrese de obtener el nombre del paquete de la aplicación que desea desactivar. Entonces prueba estos comandos. Si uno falla, pruebe la siguiente opción.

  • pm desactivar
    • Para reactivar, use pm activar
  • pm deshabilitar-usuario –usuario 0
    • Para reactivar, use pm activar
  • pm esconderse
    • Para reactivar, use espectáculo de la tarde
  • pm suspender
    • Para reactivar, use pm levante la suspensión
  • pm desinstalar -k –usuario 0
    • Para reactivar, use pm instalar-existente
    • Nota: Esto desinstala efectivamente la aplicación de su perfil de usuario. Mientras que el comando para reactivar deberían funciona, no hay garantía de que lo hará. Es posible que deba hacer un restablecimiento de fábrica para restaurar la aplicación.

Si está utilizando varios perfiles de usuario en su dispositivo, asegúrese de reemplazar en los comandos anteriores con el ID de usuario real que tiene.


ADB es una herramienta increíblemente poderosa y puede hacer mucho más que lo anterior. Los comandos de este artículo son solo un útil punto de partida. Para un uso más avanzado, consulte comandos como cmd -l para ver los diferentes servicios con los que podrías interactuar o ls -l / system / bin para ver los diferentes ejecutables de comandos disponibles.

Te puede interesar:  Cómo instalar una tarjeta gráfica en tu PC

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir

Usamos cookies para mejorar la experiencia del usuario. Selecciona aceptar para continuar navegando. Más información

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad