**Adb suele estar ubicado en:** ```bash #Windows C:\Users\\AppData\Local\Android\sdk\platform-tools\adb.exe #MacOS /Users//Library/Android/sdk/platform-tools/adb ``` # Conexión ## Connect to a device over Wi-Fi ## Conectar a un dispositivo a través de Wi-Fi 1. Connect the device to the same Wi-Fi network as your computer. 2. Connect the device to your computer with a USB cable. 3. Open a terminal and type: ``` adb tcpip 5555 ``` 4. Disconnect the USB cable from the device. 5. Find the IP address of the device. For example, on the device, you can go to Settings > About phone > Status > IP address. 6. Connect to the device using the IP address: ``` adb connect ``` For example: ``` adb connect 192.168.1.10 ``` 7. You should now be connected to the device over Wi-Fi. 1. Conecte el dispositivo a la misma red Wi-Fi que su computadora. 2. Conecte el dispositivo a su computadora con un cable USB. 3. Abra una terminal y escriba: ``` adb tcpip 5555 ``` 4. Desconecte el cable USB del dispositivo. 5. Encuentre la dirección IP del dispositivo. Por ejemplo, en el dispositivo, puede ir a Configuración> Acerca del teléfono> Estado> Dirección IP. 6. Conéctese al dispositivo usando la dirección IP: ``` adb connect ``` Por ejemplo: ``` adb connect 192.168.1.10 ``` 7. Ahora debería estar conectado al dispositivo a través de Wi-Fi. ``` adb devices ``` Esto listará los dispositivos conectados; si aparece "_**no autorizado**_", esto significa que tienes que **desbloquear** tu **móvil** y **aceptar** la conexión. Esto indica al dispositivo que debe iniciar un servidor adb en el puerto 5555: ``` adb tcpip 5555 ``` Conéctese a esa dirección IP y ese puerto: ``` adb connect : ``` Si obtienes un error como el siguiente en un software de Android virtual (como Genymotion): ``` adb server version (41) doesn't match this client (36); killing... ``` Es porque estás intentando conectarte a un servidor ADB con una versión diferente. Solo intenta encontrar el binario adb que está utilizando el software (ve a `C:\Program Files\Genymobile\Genymotion` y busca adb.exe) ## Varios dispositivos Cuando encuentres **varios dispositivos conectados a tu máquina**, necesitarás **especificar en cuál** quieres ejecutar el comando adb. ```bash adb devices List of devices attached 10.10.10.247:42135 offline 127.0.0.1:5555 device ``` ```bash adb -s 127.0.0.1:5555 shell x86_64:/ # whoami root ``` ## Tunelización de Puertos En caso de que el **puerto adb** solo sea **accesible** desde **localhost** en el dispositivo Android pero **tienes acceso a través de SSH**, puedes **reenviar el puerto 5555** y conectarte a través de adb: ```bash ssh -i ssh_key username@10.10.10.10 -L 5555:127.0.0.1:5555 -p 2222 adb connect 127.0.0.1:5555 ``` # Gestor de paquetes ## Instalar/Desinstalar ### adb install \[opción] \ ``` adb install test.apk ``` ``` adb install -l test.apk forward lock application ``` ``` adb install -r test.apk replace existing application ``` ``` adb install -t test.apk allow test packages ``` ``` adb install -s test.apk install application on sdcard ``` ``` adb install -d test.apk allow version code downgrade ``` ``` adb install -p test.apk partial application install ``` ### adb uninstall \[opciones] \ ``` adb uninstall com.test.app ``` ``` adb uninstall -k com.test.app Keep the data and cache directories around after package removal. ``` ## Paquetes Muestra todos los paquetes, opcionalmente solo aquellos cuyo nombre de paquete contiene el texto en \. ### adb shell pm list packages \[opciones] \ ``` adb shell pm list packages ``` ``` adb shell pm list packages -f #See their associated file. ``` ``` adb shell pm list packages -d #Filter to only show disabled packages. ``` ``` adb shell pm list packages -e #Filter to only show enabled packages. ``` ``` adb shell pm list packages -s #Filter to only show system packages. ``` ``` adb shell pm list packages -3 #Filter to only show third party packages. ``` ``` adb shell pm list packages -i #See the installer for the packages. ``` ``` adb shell pm list packages -u #Also include uninstalled packages. ``` ``` adb shell pm list packages --user #The user space to query. ``` ### adb shell pm path \ Imprime la ruta al APK del paquete dado. ``` adb shell pm path com.android.phone ``` ### adb shell pm clear \ Elimina todos los datos asociados con un paquete. ``` adb shell pm clear com.test.abc ``` # Administrador de archivos ### adb pull \ \[local] Descarga un archivo especificado desde un emulador/dispositivo a tu computadora. ``` adb pull /sdcard/demo.mp4 ./ ``` ### adb push \ \ Sube un archivo especificado desde tu computadora a un emulador/dispositivo. ``` adb push test.apk /sdcard ``` # Captura de pantalla/Grabación de pantalla ### adb shell screencap \ Tomando una captura de pantalla de la pantalla del dispositivo. ``` adb shell screencap /sdcard/screen.png ``` ### adb shell screenrecord \[opciones] \ Graba la pantalla de dispositivos que ejecutan Android 4.4 (nivel de API 19) o superior. ``` adb shell screenrecord /sdcard/demo.mp4 adb shell screenrecord --size adb shell screenrecord --bit-rate adb shell screenrecord --time-limit