You are on page 1of 22

13/10/2017 Android Debug Bridge | Android Studio

Android Developers

Android Debug Bridge

En este documento:

Cmo funciona ADB


Habilitar la depuracin de ADB en tu dispositivo
Conectarse a un dispositivo a travs de Wi-Fi
Realizar consultas de dispositivos
Enviar comandos a un dispositivo especfico
Instalar una app
Configurar la redireccin de puertos
Copiar archivos a un dispositivo o desde este
Detener el servidor de ADB
Referencia de comandos de ADB
Emitir comandos del shell
Llamar al administrador de actividades (am)
Llamar al administrador de paquetes (pm)
Realizar una captura de pantalla
Grabar un video
Leer perfiles de ART para apps
Otros comandos del shell

Android Debug Bridge (ADB) es una herramienta de lneas de comandos verstil que te permite
comunicarte con una instancia de un emulador o un dispositivo Android conectado. Esta
herramienta proporciona diferentes acciones en dispositivos, como la instalacin y la
depuracin de apps, y proporciona acceso a un shell Unix que puedes usar para ejecutar varios
comandos en un emulador o un dispositivo conectado. Es un programa cliente-servidor que
incluye tres componentes:

Un cliente, que enva comandos. El cliente se ejecuta en tu mquina de desarrollo. Puedes invocar un
cliente desde un terminal de lnea de comandos emitiendo un comando de ADB.
This site uses cookies to store your preferences for site-specific language and display options.
Un daemon, que ejecuta comandos en un dispositivo. El daemon se ejecuta como un proceso en segundo
planoOKen cada instancia del emulador o dispositivo.

https://developer.android.com/studio/command-line/adb.html?hl=es-419 1/22
13/10/2017 Android Debug Bridge | Android Studio

Un servidor, que administra la comunicacin entre el cliente y el daemon. El servidor se ejecuta como un
proceso en segundo plano en tu mquina de desarrollo.

Puedes encontrar la herramienta adben android_sdk/platformtools/.

Cmo funciona ADB


Cuando inicias un cliente ADB, el cliente primero comprueba si hay un proceso del servidor de ADB en
ejecucin. Si no lo hay, inicia el proceso del servidor. Cuando se inicia el servidor, este se vincula con el puerto
TCP local 5037 y busca comandos enviados por los clientes de ADB; todos los clientes de ADB usan el puerto
5037 para comunicarse con el servidor de ADB.

Luego, el servidor establece conexiones con todas las instancias de emuladores o dispositivos en ejecucin.
Localiza las instancias de emuladores o dispositivos escaneando puertos con nmeros impares en el rango
de 5555 a 5585, que usan los emuladores y dispositivos. Cuando el servidor encuentra un daemon de ADB,
establece una conexin con ese puerto. Ten en cuenta que cada instancia del emulador o dispositivo
adquiere un par de puertos secuenciales; un puerto con nmero par para las conexiones de la consola y uno
con nmero impar para las conexiones de ADB. Por ejemplo:

Emulador 1, consola: 5554


Emulador 1, adb: 5555
Emulador 2, consola: 5556
Emulador 2, adb: 5557
y as sucesivamente...

Como se muestra, la instancia del emulador conectada al ADB en el puerto 5555 es la misma que la instancia
cuya consola se encarga de la recepcin en el puerto 5554.

Una vez que el servidor establece conexiones con todas las instancias del emulador, puedes usar comandos
de ADB para acceder a esas instancias. Dado que el servidor administra las conexiones con las instancias del
emulador o dispositivo y maneja comandos de diferentes clientes de ADB, puedes controlar cualquier
instancia del emulador o dispositivo desde cualquier cliente (o desde una secuencia de comandos).

Habilitar la depuracin de ADB en tu dispositivo


Para usar ADB con un dispositivo conectado a travs de USB, debes habilitar USB debugging en la
configuracin del sistema del dispositivo, que se encuentra en Developer options.

En Android 4.2 y versiones posteriores, la pantalla Developer options se encuentra oculta de forma
predeterminada. Para poder visualizarla, dirgete a Settings > About phone y presiona Build number siete
veces. Cuando regreses a la pantalla anterior, vers Developer options en la parte inferior.
https://developer.android.com/studio/command-line/adb.html?hl=es-419 2/22
13/10/2017 Android Debug Bridge | Android Studio

En algunos dispositivos, la pantalla Developer options puede encontrarse en otro lugar o tener un nombre
diferente.

Ahora puedes conectar tu dispositivo con USB. Puedes verificar que tu dispositivo est conectado ejecutando
adbdevicesdesde el directorio android_sdk/platformtools/. Si ests conectado, vers el nombre del
dispositivo en la lista como device (dispositivo).

Nota: Cuando conectas un dispositivo con Android4.2.2 o una versin posterior, en el sistema se
muestra un dilogo en el que se solicita aceptar una clave RSA para realizar la depuracin a travs de
esta computadora. Este mecanismo de seguridad protege los dispositivos del usuario porque garantiza
que la depuracin a travs de USB y otros comandos de ADB no puedan ejecutarse a menos que puedas
desbloquear el dispositivo y aceptar el contenido del dilogo.

Para obtener ms informacin acerca de cmo establecer una conexin con un dispositivo mediante
conexiones USB, lee Ejecutar apps en un dispositivo de hardware
(https://developer.android.com/studio/run/device.html?hl=es-419).

Conectarse a un dispositivo a travs de Wi-Fi


ADB generalmente se usa a travs de USB. No obstante, tambin se puede usar a travs de Wi-Fi, como se
describe aqu.

1. Conecta tu dispositivo Android y la computadora host ADB a una red Wi-Fi comn a la que ambos puedan
acceder. Ten en cuenta que no todos los puntos de acceso son adecuados; quiz necesites usar un punto
de acceso cuyo firewall est configurado correctamente para admitir ADB.

Nota: Si intentas conectarte a un dispositivo Android Wear, haz que se conecte a la red Wi-Fi por la
fuerza desactivando el Bluetooth del telfono conectado a l.

2. Conecta el dispositivo a la computadora host con un cable USB.

3. Configura el dispositivo de destino para que busque una conexin TCP/IP en el puerto 5555.

$adbtcpip5555

4. Desconecta el cable USB del dispositivo de destino.

5. Busca la direccin IP del dispositivo Android. Por ejemplo, en un dispositivo Nexus, puedes buscar la
direccin IP en Settings > About tablet (o About phone) > Status > IP address. O bien, en un dispositivo
Android Wear, puedes buscar la direccin IP en Settings > Wi-Fi Settings > Advanced > IP address.

6. Conctate al dispositivo; identifcalo por la direccin IP.

$adbconnectdevice_ip_address
https://developer.android.com/studio/command-line/adb.html?hl=es-419 3/22
13/10/2017 Android Debug Bridge | Android Studio

7. Confirma que tu computadora host est conectada al dispositivo de destino:

$adbdevices
Listofdevicesattached
device_ip_address:5555device

Ya ests listo para empezar!

Si se pierde la conexin de ADB:

1. Asegrate de que tu host an est conectado a la misma red Wi-Fi a la que est conectado el dispositivo
Android.

2. Vuelve a conectarte ejecutando el paso adbconnectnuevamente.

3. Como alternativa, si eso no funciona, restablece tu host ADB:

adbkillserver

Luego vuelve a comenzar desde el principio.

Realizar consultas de dispositivos


Antes de emitir comandos de ADB, resultar til conocer las instancias del emulador o dispositivo
conectadas al servidor de ADB. Puedes generar una lista de emuladores o dispositivos asociados usando el
comando devices:

adbdevices

En respuesta, ADB imprime esta informacin de estado para cada instancia:

Nmero de serie: una string creada por ADB para identificar de forma exclusiva una instancia del
emulador o dispositivo por su nmero de puerto en la consola. El formato del nmero de serie es type
consoleport. Aqu te mostramos un ejemplo de nmero de serie: emulator5554

Estado: el estado de la conexin de la instancia puede ser uno de los siguientes:

offline: la instancia no est conectada a ADB o no responde.

device: la instancia ahora est conectada al servidor de ADB. Ten en cuenta que este estado no
implica que el sistema Android se haya iniciado y est funcionando, ya que la instancia se conecta a
ADB mientras el sistema an se inicia. No obstante, despus del inicio, este es el estado operativo
normal de una instancia de emulador o dispositivo.

https://developer.android.com/studio/command-line/adb.html?hl=es-419 4/22
13/10/2017 Android Debug Bridge | Android Studio

nodevice: no hay un emulador o dispositivo conectado.

El resultado tiene un formato como el siguiente:

Listofdevicesattached
serial_numberstate

Aqu te mostramos un ejemplo en el que podrs observar el comando devicesy su resultado:

adbdevices
Listofdevicesattached
emulator5554device
emulator5556device
emulator5558device

Enviar comandos a un dispositivo especfico


Si se encuentran en ejecucin varias instancias del emulador o dispositivo, debes especificar una instancia de
destino cuando emitas comandos de ADB. Para hacerlo, usa la opcin sen los comandos. El uso de la
opcin ses el siguiente:

adbsserial_numbercommand

Como se muestra, para especificar la instancia de destino para un comando debes usar su nmero de serie
asignado por ADB. Puedes usar el comando devicespara obtener los nmeros de serie de la ejecucin de
instancias del emulador o dispositivo. Por ejemplo:

adbsemulator5556installhelloWorld.apk

Ten en cuenta que si emites un comando sin especificar una instancia de destino en el emulador o dispositivo
cuando haya varios dispositivos disponibles, ADB generar un error.

Si hay varios dispositivos disponibles (de hardware o emulados), pero solo uno es un emulador, simplemente
usa la opcin epara enviar comandos al emulador. Asimismo, si hay varios dispositivos pero solo un
dispositivo de hardware asociado, usa la opcin dpara enviar comandos al dispositivo de hardware.

Instalar una app


Puedes usar ADB para copiar una aplicacin de tu computadora de desarrollo e instalarla en una instancia

https://developer.android.com/studio/command-line/adb.html?hl=es-419 5/22
13/10/2017 Android Debug Bridge | Android Studio

del emulador o dispositivo. Para hacerlo, usa el comando install. Con el comando, debes especificar la ruta
de acceso al archivo APK que desees instalar:

adbinstallpath_to_apk

Para obtener ms informacin sobre cmo crear un archivo APK que puedas instalar en una instancia del
emulador o dispositivo, consulta Compilar y ejecutar tu app (https://developer.android.com/studio/run/index.html?hl=es-
419).

Ten en cuenta que si usas Android Studio no necesitas emplear ADB (ni aapt) directamente para instalar tu
aplicacin en el emulador o dispositivo. En su lugar, Android Studio se encarga del empaquetado y de la
instalacin de la aplicacin.

Configurar la redireccin de puertos


Puedes usar el comando forwardpara configurar la redireccin de puertos arbitraria; es decir, la redireccin
de solicitudes de un puerto especfico del host a otro puerto en una instancia del emulador o dispositivo. Aqu
te mostramos la manera de configurar la redireccin del puerto 6100 del host al puerto 7100 del emulador o
dispositivo:

adbforwardtcp:6100tcp:7100

Tambin puedes usar ADB para configurar la redireccin a determinados sockets de dominio UNIX
abstractos, como se ilustra aqu:

adbforwardtcp:6100local:logd

Copiar archivos a un dispositivo o desde este


Puedes usar los comandos de ADB pully pushpara copiar archivos a una instancia de un emulador o
dispositivo, o y desde ella. A diferencia del comando install, que solo copia un archivo APK en una
ubicacin especfica, los comandos pully pushte permiten copiar directorios y archivos arbitrarios a
cualquier lugar de una instancia del emulador o dispositivo.

Para copiar un archivo o directorio (y sus subdirectorios) desde el emulador o dispositivo, usa

adbpullremotelocal

https://developer.android.com/studio/command-line/adb.html?hl=es-419 6/22
13/10/2017 Android Debug Bridge | Android Studio

Para copiar un archivo o directorio (y sus subdirectorios) al emulador o dispositivo, usa

adbpushlocalremote

En los comandos, localy remotehacen referencia a las rutas de acceso de los archivos o el directorio de
destino en tu mquina de desarrollo (local) y en la instancia del emulador o dispositivo (remoto). Por ejemplo:

adbpushfoo.txt/sdcard/foo.txt

Detener el servidor de ADB


En algunos casos, podra ser necesario que finalices el proceso del servidor de ADB y luego lo reinicies para
resolver el problema (p. ej., si ADB no responde a un comando).

Para detener el servidor de ADB, usa el comando adbkillserver. Luego podrs reiniciar el servidor
emitiendo cualquier otro comando de ADB.

Referencia de comandos de ADB


Puedes emitir comandos de ADB desde una lnea de comandos en tu mquina de desarrollo o desde una
secuencia de comandos. El uso es el siguiente:

adb[d|e|sserial_number]command

Si hay un solo emulador en ejecucin o un solo dispositivo conectado, de forma predeterminada, el comando
de ADB se enva a ese dispositivo. Si hay varios emuladores ejecutndose o diferentes dispositivos
conectados, debes usar la opcin d, eo spara especificar el dispositivo de destino al que debe dirigirse el
comando.

En la tabla siguiente se incluyen todos los comandos de ADB admitidos y se explican su significado y uso.

Tabla 1: Comandos de ADB disponibles.

Categora Comando Descripcin Comentarios

Dispositivo d Dirige un comando de ADB al Muestra un error si hay ms d


de destino nico dispositivo USB conectado. USB conectado.

e Dirige un comando de ADB a la Muestra un error si hay ms d


nica instancia del emulador que emulador en ejecucin.
est en ejecucin.
https://developer.android.com/studio/command-line/adb.html?hl=es-419 7/22
13/10/2017 Android Debug Bridge | Android Studio

sserial_number Dirige un comando de ADB a una Consulta Cmo dirigir comand


instancia especfica del emulador especfica del emulador o disp
o dispositivo, a la que se hace (#directingcommands).

referencia por su nmero de serie


asignado por ADB (como
emulator-5556).

General devices Imprime una lista de todas las Para obtener ms informaci
instancias del emulador o instancias del emulador o disp
dispositivo conectado. (#devicestatus).

help Imprime una lista de los


comandos de ADB admitidos.

version Imprime el nmero de versin de


ADB.

Depuracin logcat[option] Imprime datos del registro en la


[filterspecs] pantalla.

bugreport Imprime datos de dumpsys,


dumpstatey logcaten la
pantalla para el informe de
errores.

jdwp Imprime una lista de los procesos Puedes usar la especificacin


JDWP disponibles en un puertos forwardjdwp:
dispositivo determinado. conexin con un proceso JDW
ejemplo:
adbforwardtcp:8000jd
jdbattachlocalhost:8

Datos installpath_to_apk Inserta una aplicacin de Android


(especificada como ruta de
acceso completa a un archivo
APK) en un emulador o
dispositivo.

pullremotelocal Copia un archivo especificado de


una instancia del emulador o
dispositivo en tu computadora de
desarrollo.

pushlocalremote Copia un archivo especificado de


tu computadora de desarrollo a
una instancia del emulador o
https://developer.android.com/studio/command-line/adb.html?hl=es-419 8/22
13/10/2017 Android Debug Bridge | Android Studio

dispositivo.

Puertos y forwardlocalremote Enva conexiones de socket Las especificaciones de puert


redes desde un puerto local siguientes esquemas:
especificado a un puerto remoto tcp:port_number
especificado en la instancia del
local:unix_domain_soc
emulador o dispositivo.
dev:character_device_

jdwp:pid

ppptty[parm]... Es preferible ejecutar PPP en


lugar de USB.
tty: tty para la transmisin de
PPP. Por ejemplo:
dev:/dev/omap_csmi_ttyl.

[parm]...: cero o ms
opciones PPP o PPPD, como
defaultroute, localy
notty, entre otras.

Ten en cuenta que no debes


iniciar automticamente una
conexin PPP.

Creacin getserialno Imprime la string del nmero de Para obtener ms informaci


de serie de la instancia de ADB. instancias del emulador o disp
secuencias (#devicestatus).
getstate Imprime el estado en ADB de una
de
instancia del emulador o
comandos
dispositivo.

waitfordevice Bloquea la ejecucin hasta que el Puedes anexar este comando


dispositivo est en lnea; es decir, de ADB, en cuyo caso ADB esp
hasta que el estado de la conecte la instancia del emula
instancia sea device. antes de emitir otros comand
te mostramos un ejemplo:

adbwaitfordevices

Ten en cuenta que este coman


ADB espere hasta que se haya
sistema. Por ese motivo, no d
otros comandos que requiera

https://developer.android.com/studio/command-line/adb.html?hl=es-419 9/22
13/10/2017 Android Debug Bridge | Android Studio

sistema. A modo de ejemplo,


administrador de paquetes de
disponible solo despus de qu
iniciado por completo. Un com

adbwaitfordevicei

emitir el comando install


del emulador o el dispositivo s
servidor de ADB, pero antes d
Android se inicie por completo
producira un error.

Servidor startserver Verifica si est en ejecucin el


proceso del servidor de ADB. Si
esto no sucede, lo inicia.

killserver Finaliza el proceso del servidor de


ADB.

Shell shell Inicia un shell remoto en la Para obtener ms informaci


instancia de destino en el comandos del shell (#shellcomm
emulador o dispositivo.

shellshell_command Emite un comando del shell en la


instancia de destino en el
emulador o dispositivo y luego
sale del shell remoto.

Emitir comandos del shell


Puedes usar el comando shellpara emitir comandos de dispositivo a travs de ADB, con o sin ingresar al
shell remoto de ADB en el emulador o dispositivo. Para emitir un solo comando sin ingresar a un shell remoto,
usa el comando shellde esta manera:

adb[d|e|sserial_number]shellshell_command

O ingresa un shell remoto en un emulador o dispositivo de la siguiente manera:

adb[d|e|sserial_number]shell

Cuando ests listo para salir del shell remoto, presiona Control + D o escribe exit.

https://developer.android.com/studio/command-line/adb.html?hl=es-419 10/22
13/10/2017 Android Debug Bridge | Android Studio

Los ejecutables del comando shell se guardan en el sistema de archivos del emulador o dispositivo, en
/system/bin/.

Llamar al administrador de actividades (am)


En un shell de ADB, puedes emitir comandos con la herramienta administrador de actividades (am) para
realizar varias acciones del sistema, como iniciar una actividad, forzar o detener un proceso, transmitir una
intent y modificar las propiedades de la pantalla del dispositivo, entre otras. En un shell, la sintaxis es la
siguiente:

amcommand

Tambin puedes emitir un comando del administrador de actividades directamente desde ADB sin ingresar a
un shell remoto. Por ejemplo:

adbshellamstartaandroid.intent.action.VIEW

Tabla 2: Comandos del administrador de actividades disponibles.

Comando Descripcin

start[options]intent Inicia una Activity


(https://developer.android.com/reference/android/app/Activity.html?hl=e

419)especificada por una intent.


Consulta Especificacin para argumentos de intents (#IntentSpec)

Las opciones son las siguientes:

D: habilita la depuracin.

W: establece una espera hasta que se complete el inicio.

startprofilerfile: inicia el generador de perfiles y enva


resultandos a file.

Pfile: similar a startprofiler, pero la generacin de


perfiles se detiene cuando la app est inactiva.

Rcount: repite el inicio de la actividad countveces. Antes de ca


repeticin, se finalizar la actividad principal.

S: fuerza la detencin de la app de destino antes de iniciar la


actividad.

opengltrace: habilita el rastreo de funciones OpenGL.

https://developer.android.com/studio/command-line/adb.html?hl=es-419 11/22
13/10/2017 Android Debug Bridge | Android Studio

useruser_id|current: especifica el usuario que deber


ejecutarse; si no se especifica, se ejecutar como el usuario actua

startservice[options]intent inicia el Service


(https://developer.android.com/reference/android/app/Service.html?hl=es

419)especificado por intent.


Consulta Especificacin para argumentos de intents (#IntentSpec)

Las opciones son las siguientes:

useruser_id|current: especifica el usuario que deber


ejecutarse; si no se especifica, se ejecutar como el usuario actua

forcestoppackage Fuerza la detencin de todo lo que est asociado con package(el


nombre de paquete de la app).

kill[options]package Elimina todos los procesos asociados con package(el nombre de


paquete de la app). Este comando solo elimina los procesos que es
seguro eliminar y que no afectarn la experiencia del usuario.
Las opciones son las siguientes:

useruser_id|all|current: Especifica el usuario cuyo


procesos se eliminarn; si no se especifica, se seleccionarn todos
los usuarios.

killall Elimina todos los procesos que se ejecutan en segundo plano.

broadcast[options]intent Emite una intent de transmisin.


Consulta Especificacin para argumentos de intents (#IntentSpec)

Las opciones son las siguientes:

[useruser_id|all|current]: Especifica a qu usuari


se enviar; si no se especifica, se enva a todos los usuarios.

instrument[options]component Comienza a controlar con una instancia Instrumentation


(https://developer.android.com/reference/android/app/Instrumentation.ht

hl=es419). Generalmente, el componentde destino tiene la forma


test_package/runner_class.
Las opciones son las siguientes:

r: Imprime resultados sin procesar (de lo contrario, decodifica


report_key_streamresult). Se usa con [eperftrue]
generar resultados sin procesar para las mediciones de rendimien

enamevalue: Consulta el argumento namepara value. Para l


ejecutores de pruebas, una forma comn es etestrunner_fla

https://developer.android.com/studio/command-line/adb.html?hl=es-419 12/22
13/10/2017 Android Debug Bridge | Android Studio

value[,value...].

pfile: Escribe datos de generacin de perfiles en file.

w: Espera a que la instrumentacin finalice antes de regresar.


Obligatorio para los ejecutores de pruebas.

nowindowanimation: Desactiva las animaciones de ventan


durante la ejecucin.

useruser_id|current: Especifica en qu instrumentaci


de usuario se debe ejecutar; si no se especifica, se seleccionar el
usuario actual.

profilestartprocessfile Inicia el generador de perfiles en process, escribe los resultados en


file.

profilestopprocess Detiene el generador de perfiles en process.

dumpheap[options]processfile Vuelca el montn de process, escribe en file.


Las opciones son las siguientes:

user[user_id|current]: Cuando se proporciona un nombr


de proceso, se debe especificar el usuario del proceso que se volca
si no se especifica, se usar el usuario actual.

n: Vuelca el montn nativo en lugar del montn administrado.

setdebugapp[options]package Configura el packagede la aplicacin en depuracin.


Las opciones son las siguientes:

w: Espera al depurador cuando se inicia la aplicacin.

persistent: Guarda este valor.

cleardebugapp Borra el conjunto anterior del paquete para depurar con setdebug
app.

monitor[options] Comienza a controlar la presencia de bloqueos o ANR.


Las opciones son las siguientes:

gdb: Inicia gdbserv en el puerto en el puerto especificado en el


bloqueo/ANR.

screencompat{on|off}package Controla el modo de compatibilidad de pantalla


(https://developer.android.com/guide/practices/screen-compat-mode.html?hl=es-41

de package.

displaysize Anula el tamao de la pantalla del emulador/dispositivo. Este coman

https://developer.android.com/studio/command-line/adb.html?hl=es-419 13/22
13/10/2017 Android Debug Bridge | Android Studio

[reset|widthxheight] es til para probar tu app en diferentes tamaos de pantalla imitando


resolucin de una pantalla pequea en un dispositivo con pantalla
grande, y viceversa.
Ejemplo:
amdisplaysize1280x800

displaydensitydpi Anula la densidad de la pantalla del emulador/dispositivo. Este


comando es til para probar tu app en diferentes densidades de
pantalla en un entorno de pantalla de alta densidad usando una
pantalla de baja densidad, y viceversa.
Ejemplo:
amdisplaydensity480

touriintent Imprime la especificacin de la intent en cuestin como un URI.


Consulta Especificacin para argumentos de intents (#IntentSpec)

tointenturiintent Imprime la especificacin de intent determinada como intent:


Consulta Especificacin para argumentos de intents (#IntentSpec)

()Especificacin para argumentos de intents (https://developer.android.com?hl=es-419)

Llamar al administrador de paquetes (pm)


En un shell de ADB, puedes emitir comandos con la herramienta administrador de paquetes (pm) para realizar
acciones y consultas en paquetes de aplicaciones instalados en el dispositivo. En un shell, la sintaxis es la
siguiente:

pmcommand

Tambin puedes emitir un comando del administrador de paquetes directamente desde ADB sin ingresar a un
shell remoto. Por ejemplo:

adbshellpmuninstallcom.example.MyApp

Tabla 3. Comandos del administrador de paquetes disponibles.

Comando Descripcin

listpackages[options]filter Imprime todos los paquetes u,


opcionalmente, solo aquellos cuyos nombre
de paquete contengan el texto en filter.
Opciones:

f: Consulta su archivo asociado.

https://developer.android.com/studio/command-line/adb.html?hl=es-419 14/22
13/10/2017 Android Debug Bridge | Android Studio

d: Filtra para mostrar nicamente los


paquetes inhabilitados.

e: Filtra para mostrar nicamente los


paquetes habilitados.

s: Filtra para mostrar nicamente los


paquetes del sistema.

3: Filtra para mostrar nicamente los


paquetes de terceros.

i: Consulta los paquetes en el


instalador.

u: Incluye tambin paquetes


desinstalados.

useruser_id: El espacio de consulta


del usuario.

listpermissiongroups Imprime todos los grupos de permisos


conocidos.

listpermissions[options]group Imprime todos los permisos conocidos, y


opcionalmente solo aquellos en group.
Opciones:

g: Organiza por grupo.

f: Imprime toda la informacin.

s: Resumen breve.

d: Solo indica permisos peligrosos.

u: Solo indica los permisos que vern los


usuarios.

listinstrumentation[options] Indica todos los paquetes de prueba.


Opciones:

f: Indica el archivo APK para el paquete


de prueba.

target_package: Indica los paquetes de


prueba para esta app nicamente.

listfeatures Imprime todas las funciones del sistema.

https://developer.android.com/studio/command-line/adb.html?hl=es-419 15/22
13/10/2017 Android Debug Bridge | Android Studio

listlibraries Imprime todas las bibliotecas admitidas por


el dispositivo actual.

listusers Imprime todos los usuarios del sistema.

pathpackage Imprime la ruta de acceso al APK de un


packagedeterminado.

install[options]path Instala un paquete (especificado por path)


en el sistema.
Opciones:

l: Instala el paquete con bloqueo de


reenvo.

r: Reinstala una app existente y


conserva sus datos.

t: Permite la instalacin de APK de


prueba.

iinstaller_package_name:
Especifica el nombre de paquete del
instalador.

s: Instala el paquete en el
almacenamiento masivo compartido
(como una tarjeta sd).

f: Instala el paquete en la memoria


interna del sistema.

d: Permite pasar a una versin anterior


del cdigo de versin.

g: Otorga todos los permisos que se


indican en el manifiesto de la app.

uninstall[options]package Quita un paquete del sistema.


Opciones:

k: Mantiene los directorios de datos y


cach despus de la eliminacin del
paquete.

clearpackage Elimina todos los datos asociados con un


paquete.

https://developer.android.com/studio/command-line/adb.html?hl=es-419 16/22
13/10/2017 Android Debug Bridge | Android Studio

enablepackage_or_component Habilita un paquete o componente


determinado (escrito como paquete/clase).

disablepackage_or_component Inhabilita un paquete o componente


determinado (escrito como paquete/clase).

disableuser[options]package_or_component Opciones:

useruser_id: El usuario a
inhabilitar.

grantpackage_namepermission Otorga un permiso a una app. En


dispositivos con Android 6.0 (nivel de API 23)
y versiones posteriores, puede ser cualquier
permiso declarado en el manifiesto de la app.
En dispositivos con Android 5.1 (nivel de API
22) y versiones anteriores, debe ser un
permiso opcional definido por la app.

revokepackage_namepermission Revoca un permiso de una app. En


dispositivos con Android 6.0 (nivel de API 23)
y versiones posteriores, puede ser cualquier
permiso declarado en el manifiesto de la app.
En dispositivos con Android 5.1 (nivel de API
22) y versiones anteriores, debe ser un
permiso opcional definido por la app.

setinstalllocationlocation Cambia la ubicacin de instalacin


predeterminada. Valores de ubicacin:
0: Auto: permite que el sistema decida la
mejor ubicacin.

1: Interno: instala en una ubicacin de


almacenamiento interna del dispositivo.

2: Externo: instala en un medio externo.

Nota: Esto es solo para depurar; usarlo


puede provocar que las aplicaciones
fallen y otros comportamientos no
deseados.

getinstalllocation Muestra la ubicacin de instalacin actual.


Valores de retorno:
0[auto]: permite que el sistema decida

https://developer.android.com/studio/command-line/adb.html?hl=es-419 17/22
13/10/2017 Android Debug Bridge | Android Studio

la mejor ubicacin.

1[internal]: instala en una ubicacin


de almacenamiento interna del
dispositivo.

2[external]: instala en un medio


externo.

setpermissionenforcedpermission Especifica si se debe aplicar el permiso


[true|false] otorgado.

trimcachesdesired_free_space Recorta los archivos de cach para


adaptarlos a un espacio libre determinado.

createuseruser_name Crea un usuario nuevo con el user_name


proporcionado e imprime el identificador de
usuario nuevo para el usuario.

removeuseruser_id Quita el usuario con un user_id


determinado y elimina todos los datos
asociados con ese usuario.

getmaxusers Imprime la cantidad mxima de usuarios que


admite el dispositivo.

Realizar una captura de pantalla


El comando screencapes una utilidad del shell para realizar una captura de pantalla de la pantalla de un
dispositivo. En un shell, la sintaxis es la siguiente:

screencapfilename

Para usar el screencapdesde la lnea de comandos, escribe lo siguiente:

$adbshellscreencap/sdcard/screen.png

Aqu te mostramos un ejemplo de una sesin de captura de pantalla, usando el shell de ADB para realizar la
captura de pantalla y el comando pullpara descargar el archivo desde el dispositivo:

$adbshell
shell@$screencap/sdcard/screen.png
shell@$exit
$adbpull/sdcard/screen.png

https://developer.android.com/studio/command-line/adb.html?hl=es-419 18/22
13/10/2017 Android Debug Bridge | Android Studio

Grabar un video
El comando screenrecordes una utilidad del shell que permite grabar la pantalla de dispositivos con
Android 4.4 (nivel de API 19) y versiones posteriores. La utilidad graba la actividad en pantalla en un archivo
MPEG-4.

Nota: No se graba audio con el archivo de video.

Un programador puede usar este archivo para crear videos promocionales o de capacitacin. En un shell, la
sintaxis es la siguiente:

screenrecord[options]filename

Para usar el screenrecorddesde la lnea de comandos, escribe lo siguiente:

$adbshellscreenrecord/sdcard/demo.mp4

Detiene la grabacin de la pantalla presionando Control + C; de lo contrario, la grabacin se detiene


automticamente a los tres minutos o cuando se alcance el tiempo lmite establecido por timelimit.

Para comenzar a grabar la pantalla de tu dispositivo, ejecuta el comando screenrecordpara grabar video.
Luego, ejecuta el comando pullpara descargar el video del dispositivo en una computadora host. Aqu te
mostramos un ejemplo de una sesin de grabacin:

$adbshell
shell@$screenrecordverbose/sdcard/demo.mp4
(pressControl+Ctostop)
shell@$exit
$adbpull/sdcard/demo.mp4

La utilidad screenrecordpuede grabar en cualquier resolucin admitida y tasa de bits que solicites,
mientras conserva la relacin de aspecto de la pantalla del dispositivo. De forma predeterminada, la utilidad
graba en la resolucin y la orientacin nativas de la pantalla, con un tiempo de grabacin mximo de tres
minutos.

Hay algunas limitaciones conocidas de la utilidad screenrecordque debes conocer al momento de usarla.

Es posible que algunos dispositivos no puedan grabar en su resolucin de pantalla nativa. Si tienes
problemas con la grabacin de la pantalla, intenta usar una resolucin de pantalla ms baja.

No se admite la rotacin de la pantalla durante la grabacin. Si la pantalla gira durante la grabacin, parte

https://developer.android.com/studio/command-line/adb.html?hl=es-419 19/22
13/10/2017 Android Debug Bridge | Android Studio

de la pantalla aparecer cortada en el video.

Tabla 4. Opciones de screenrecord

Opciones Descripcin

help Muestra la sintaxis y las opciones del comando.

sizewidthxheight Establece el tamao del video: 1280x720. El valor predeterminado es la


resolucin nativa de la pantalla del dispositivo (si se admite); si no se admite,
es 1280 x 720. Para obtener mejores resultados, usa un tamao admitido
por el codificador de cdigo de video avanzado (AVC) de tu dispositivo.

bitraterate Fija la tasa de bits de video para el video en megabits por segundo. El valor
predeterminado es 4 Mbps. Puedes aumentar la tasa de bits para mejorar la
calidad del video, pero si lo haces los archivos de video sern ms grandes.
En el siguiente ejemplo, se fija la tasa de bits de grabacin en 6 Mbps:

screenrecordbitrate6000000/sdcard/demo.mp4

timelimittime Fija el tiempo de grabacin mximo en segundos. El valor mximo


predeterminado es 180 (3 minutos).

rotate Rota el video resultante 90 grados. Esta funcin es experimental.

verbose Muestra informacin de registro en la pantalla de la lnea de comandos. Si


no configuras esta opcin, la utilidad no muestra informacin mientras se
ejecuta.

Leer perfiles de ART para apps


A partir de Android 7.0 (nivel de API 24) y del tiempo de ejecucin de Android (ART), recopila perfiles de
ejecucin para las apps instaladas, que se usan para optimizar el rendimiento de la app. Te recomendamos
examinar los perfiles recopilados para comprender los mtodos que se ejecutan con frecuencia y las clases
que se usan durante el inicio de una app.

Para producir un texto a partir de informacin del perfil, usa el siguiente comando:

$adbshellcmdpackagedumpprofilespackage

Para recuperar el archivo creado, usa:

$adbpull/data/misc/profman/package.txt

Otros comandos del shell


https://developer.android.com/studio/command-line/adb.html?hl=es-419 20/22
13/10/2017 Android Debug Bridge | Android Studio

Para obtener una lista de los programas del shell disponibles, usa el siguiente comando:

adbshellls/system/bin

Hay ayuda disponible para la mayora de los comandos.

En la tabla 5 se mencionan algunos de los comandos del shell de ADB ms comunes.

Tabla 5: Algunos de los dems comandos del shell de ADB.

Comando del shell Descripcin Comentarios

dumpsys Vuelca datos La herramienta Dalvik Debug Monitor Server


del sistema en (https://developer.android.com/studio/profile/ddms.html?

la pantalla. hl=es-419) (DDMS) ofrece un entorno de

dumpstate Vuelca el depuracin integrado que puede resultarte fcil

estado en un de usar.

archivo.

logcat[option]...[filter Habilita el
spec]... registro del
sistema y de
apps, e
imprime los
resultados en
la pantalla.

dmesg Imprime los


mensajes de
depuracin
del kernel en
la pantalla.

start Inicia
(reinicia) una
instancia del
emulador o
dispositivo.

stop Detiene la
ejecucin de
una instancia
del emulador
o dispositivo.

https://developer.android.com/studio/command-line/adb.html?hl=es-419 21/22
13/10/2017 Android Debug Bridge | Android Studio

https://developer.android.com/studio/command-line/adb.html?hl=es-419 22/22

You might also like