← Volver al listado de tecnologías

Capítulo 1: Instalación y Configuración de ADB

Por: Artiko
adbinstalaciónconfiguraciónandroidplatform-toolsdrivers

Capítulo 1: Instalación y Configuración de ADB

En este capítulo aprenderás a instalar ADB (Android Debug Bridge) en tu sistema operativo, configurar las variables de entorno necesarias y establecer tu primera conexión exitosa con un dispositivo Android.

🎯 Objetivos del Capítulo

Al finalizar este capítulo serás capaz de:

📦 ¿Qué es ADB?

Android Debug Bridge (ADB) es una herramienta de línea de comandos que consta de tres componentes:

Cliente:
  - Se ejecuta en tu computadora
  - Envía comandos al servidor ADB
  - Interfaz de línea de comandos

Servidor (daemon):
  - Se ejecuta como proceso en tu computadora
  - Gestiona la comunicación entre cliente y dispositivo
  - Puerto por defecto: 5037

Daemon (adbd):
  - Se ejecuta en el dispositivo Android
  - Ejecuta comandos en el dispositivo
  - Se comunica vía USB o TCP/IP

🔧 Instalación en Windows

Método 1: Platform Tools Standalone (Recomendado)

# 1. Descargar Platform Tools
# Visitar: https://developer.android.com/studio/releases/platform-tools
# Descargar: platform-tools-latest-windows.zip

# 2. Extraer en ubicación permanente
# Recomendado: C:\Android\platform-tools

# 3. Verificar contenido
dir C:\Android\platform-tools
# Debe contener: adb.exe, fastboot.exe, etc.

Método 2: Con Android Studio

# 1. Instalar Android Studio
# https://developer.android.com/studio

# 2. Durante instalación, seleccionar:
# ✓ Android SDK
# ✓ Android SDK Platform-Tools
# ✓ Android SDK Build-Tools

# 3. Ubicación por defecto:
# %LOCALAPPDATA%\Android\Sdk\platform-tools

Método 3: Usando Chocolatey

# Instalar Chocolatey si no lo tienes
Set-ExecutionPolicy Bypass -Scope Process -Force
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072
iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))

# Instalar ADB
choco install adb

# Verificar instalación
adb version

Configurar Variables de Entorno Windows

# Método 1: PowerShell (Administrador)
[Environment]::SetEnvironmentVariable(
    "Path",
    $env:Path + ";C:\Android\platform-tools",
    [EnvironmentVariableTarget]::Machine
)

# Método 2: Comando setx
setx PATH "%PATH%;C:\Android\platform-tools"

# Método 3: GUI
# 1. Windows + X → Sistema
# 2. Configuración avanzada del sistema
# 3. Variables de entorno
# 4. En "Variables del sistema", editar PATH
# 5. Agregar: C:\Android\platform-tools
# 6. Aceptar y reiniciar terminal

Verificación Windows

# Abrir nueva terminal (importante)
adb version
# Output esperado:
# Android Debug Bridge version 1.0.41
# Version 34.0.5-10900879

# Verificar PATH
echo $env:PATH | Select-String "platform-tools"

# Test de servidor
adb start-server
# * daemon not running; starting now at tcp:5037
# * daemon started successfully

🍎 Instalación en macOS

Método 1: Homebrew (Recomendado)

# Instalar Homebrew si no lo tienes
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# Instalar Android Platform Tools
brew install --cask android-platform-tools

# Verificar instalación
adb version

# Actualizar en el futuro
brew upgrade --cask android-platform-tools

Método 2: Platform Tools Manual

# 1. Descargar Platform Tools
curl -O https://dl.google.com/android/repository/platform-tools-latest-darwin.zip

# 2. Extraer
unzip platform-tools-latest-darwin.zip

# 3. Mover a ubicación permanente
sudo mv platform-tools /opt/android-platform-tools

# 4. Dar permisos de ejecución
sudo chmod +x /opt/android-platform-tools/*

Método 3: Android Studio

# 1. Descargar Android Studio desde:
# https://developer.android.com/studio

# 2. Instalar y abrir Android Studio
# 3. SDK Manager → SDK Tools → Android SDK Platform-Tools

# Ubicación por defecto:
# ~/Library/Android/sdk/platform-tools

Configurar PATH en macOS

# Para Zsh (macOS Catalina+)
echo 'export PATH="/opt/android-platform-tools:$PATH"' >> ~/.zshrc
source ~/.zshrc

# Para Bash
echo 'export PATH="/opt/android-platform-tools:$PATH"' >> ~/.bash_profile
source ~/.bash_profile

# Si usaste Homebrew, ya está en PATH
# Si usaste Android Studio:
echo 'export ANDROID_HOME=$HOME/Library/Android/sdk' >> ~/.zshrc
echo 'export PATH=$ANDROID_HOME/platform-tools:$PATH' >> ~/.zshrc
source ~/.zshrc

Verificación macOS

# Verificar instalación
adb version
which adb

# En macOS puede requerir permisos
# Si aparece "cannot be opened because the developer cannot be verified"
xattr -r -d com.apple.quarantine /opt/android-platform-tools

# O en Preferencias del Sistema → Seguridad y Privacidad
# Permitir aplicaciones descargadas de: Cualquier sitio

🐧 Instalación en Linux

Método 1: Package Manager

Ubuntu/Debian

# Actualizar repositorios
sudo apt update

# Instalar ADB
sudo apt install android-tools-adb android-tools-fastboot

# Verificar
adb version

Fedora

# Instalar ADB
sudo dnf install android-tools

# Verificar
adb version

Arch Linux

# Instalar desde AUR
sudo pacman -S android-tools

# Verificar
adb version

Método 2: Platform Tools Manual

# 1. Descargar Platform Tools
wget https://dl.google.com/android/repository/platform-tools-latest-linux.zip

# 2. Extraer
unzip platform-tools-latest-linux.zip

# 3. Mover a /opt
sudo mv platform-tools /opt/android-platform-tools

# 4. Dar permisos
sudo chmod +x /opt/android-platform-tools/*

# 5. Crear enlace simbólico (opcional)
sudo ln -s /opt/android-platform-tools/adb /usr/local/bin/adb
sudo ln -s /opt/android-platform-tools/fastboot /usr/local/bin/fastboot

Método 3: Snap Package

# Instalar via Snap
sudo snap install android-platform-tools

# Los comandos estarán disponibles como:
android-platform-tools.adb
android-platform-tools.fastboot

# Crear alias
alias adb='android-platform-tools.adb'
alias fastboot='android-platform-tools.fastboot'

Configurar PATH en Linux

# Para Bash
echo 'export PATH="/opt/android-platform-tools:$PATH"' >> ~/.bashrc
source ~/.bashrc

# Para Zsh
echo 'export PATH="/opt/android-platform-tools:$PATH"' >> ~/.zshrc
source ~/.zshrc

# Para Fish
set -Ux fish_user_paths /opt/android-platform-tools $fish_user_paths

Configurar udev Rules (Linux)

# Crear archivo de reglas
sudo nano /etc/udev/rules.d/51-android.rules

# Agregar reglas para tu dispositivo (ejemplo genérico)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="2717", MODE="0666", GROUP="plugdev"

# Aplicar cambios
sudo chmod a+r /etc/udev/rules.d/51-android.rules
sudo udevadm control --reload-rules
sudo service udev restart

# Agregar usuario al grupo plugdev
sudo usermod -aG plugdev $USER

# Logout y login para aplicar cambios

🔌 Instalación de Drivers USB

Windows - Drivers USB

# Opción 1: Google USB Driver
# En Android Studio: SDK Manager → SDK Tools → Google USB Driver

# Opción 2: Drivers OEM específicos
# Samsung: https://developer.samsung.com/mobile/android-usb-driver.html
# LG: https://www.lg.com/us/support/software-firmware-drivers
# Motorola: https://motorola-global-portal.custhelp.com/
# Xiaomi: Usar Mi PC Suite
# OnePlus: https://www.oneplus.com/support

# Verificar instalación
# Administrador de dispositivos → Android Device

macOS - No Requiere Drivers

# macOS detecta automáticamente dispositivos Android
# No se requieren drivers adicionales

# Si hay problemas:
brew install --cask android-file-transfer

Linux - Ya Configurado

# Las reglas udev configuradas anteriormente son suficientes
# Verificar permisos
ls -la /dev/bus/usb/*/*

📱 Primera Conexión

Preparar el Dispositivo

1. Habilitar Opciones de Desarrollador:
   - Ajustes → Acerca del teléfono
   - Tocar "Número de compilación" 7 veces
   
2. Activar Depuración USB:
   - Ajustes → Opciones de desarrollador
   - Activar "Depuración USB"
   
3. Conectar por USB:
   - Usar cable de datos (no solo carga)
   - Seleccionar "Transferencia de archivos" o "MTP"

Establecer Conexión

# 1. Verificar que ADB detecta el dispositivo
adb devices
# Output primera vez:
# List of devices attached
# ABC123DEF456    unauthorized

# 2. En el dispositivo aparecerá:
# "¿Permitir depuración USB?"
# Marcar: "Permitir siempre desde este ordenador"
# Tap: "Aceptar"

# 3. Verificar nuevamente
adb devices
# Output correcto:
# List of devices attached
# ABC123DEF456    device

✅ Comandos de Verificación

Verificación Básica

# Versión de ADB
adb version

# Dispositivos conectados
adb devices -l

# Información del dispositivo
adb shell getprop ro.product.model
adb shell getprop ro.build.version.release
adb shell getprop ro.product.manufacturer

# Estado del servidor ADB
adb get-state

Script de Verificación Completa

#!/bin/bash
# verify_adb.sh

echo "🔍 Verificando instalación de ADB..."
echo "====================================="

# Verificar ADB instalado
if command -v adb &> /dev/null; then
    echo "✅ ADB instalado"
    adb version
else
    echo "❌ ADB no encontrado en PATH"
    exit 1
fi

# Iniciar servidor
echo -e "\n📡 Iniciando servidor ADB..."
adb start-server

# Buscar dispositivos
echo -e "\n📱 Buscando dispositivos..."
devices=$(adb devices | grep -c device$)

if [ $devices -gt 0 ]; then
    echo "✅ $devices dispositivo(s) conectado(s)"
    
    # Info del dispositivo
    echo -e "\n📊 Información del dispositivo:"
    adb shell getprop ro.product.manufacturer | xargs echo "  Fabricante:"
    adb shell getprop ro.product.model | xargs echo "  Modelo:"
    adb shell getprop ro.build.version.release | xargs echo "  Android:"
    adb shell getprop ro.build.version.sdk | xargs echo "  API Level:"
else
    echo "⚠️ No hay dispositivos conectados"
    echo "  Verifica:"
    echo "  1. Cable USB conectado"
    echo "  2. Depuración USB activada"
    echo "  3. Dispositivo autorizado"
fi

echo -e "\n✅ Verificación completa!"

🔧 Troubleshooting

Problema: “adb: command not found”

# Verificar instalación
which adb
whereis adb

# Si no está en PATH, agregar manualmente
export PATH=$PATH:/path/to/platform-tools

# Hacer permanente
echo 'export PATH=$PATH:/path/to/platform-tools' >> ~/.bashrc

Problema: “no permissions”

# Linux: Verificar reglas udev
sudo nano /etc/udev/rules.d/51-android.rules

# Reiniciar servicio
sudo udevadm control --reload-rules
sudo service udev restart

# Kill server y restart
adb kill-server
sudo adb start-server

Problema: “device unauthorized”

# 1. Revocar autorizaciones en el dispositivo
# Opciones desarrollador → Revocar autorizaciones USB

# 2. Kill ADB server
adb kill-server

# 3. Reconectar dispositivo
# 4. Aceptar prompt de autorización

Problema: “more than one device/emulator”

# Listar dispositivos
adb devices

# Especificar dispositivo
adb -s SERIAL_NUMBER shell
adb -s ABC123DEF456 shell

# Con emulador
adb -e shell  # Emulador
adb -d shell  # Dispositivo físico

🎯 Ejercicios Prácticos

Ejercicio 1: Verificación de Instalación

# 1. Verificar versión de ADB
adb version

# 2. Verificar ubicación de ADB
which adb  # Linux/macOS
where adb  # Windows

# 3. Verificar PATH incluye platform-tools
echo $PATH | grep platform-tools

Ejercicio 2: Primera Conexión

# 1. Conectar dispositivo
# 2. Verificar detección
adb devices

# 3. Obtener información básica
adb shell getprop | grep product

# 4. Ejecutar comando simple
adb shell echo "Hola desde ADB"

Ejercicio 3: Gestión del Servidor

# 1. Detener servidor
adb kill-server

# 2. Iniciar servidor en puerto específico
adb -P 5038 start-server

# 3. Verificar puerto
netstat -an | grep 5038  # Linux/macOS
netstat -an | findstr 5038  # Windows

# 4. Volver a puerto por defecto
adb kill-server
adb start-server

📋 Checklist de Instalación

### ✅ Windows
- [ ] Platform Tools descargado
- [ ] Extraído en ubicación permanente
- [ ] PATH configurado
- [ ] Terminal reiniciada
- [ ] `adb version` funciona
- [ ] Drivers USB instalados

### ✅ macOS
- [ ] Homebrew o descarga manual
- [ ] PATH configurado (.zshrc/.bash_profile)
- [ ] Terminal reiniciada
- [ ] `adb version` funciona
- [ ] Permisos de seguridad otorgados

### ✅ Linux
- [ ] ADB instalado (apt/dnf/pacman)
- [ ] PATH configurado
- [ ] udev rules creadas
- [ ] Usuario en grupo plugdev
- [ ] `adb version` funciona

📚 Resumen

Has completado exitosamente la instalación y configuración de ADB:

🚀 Próximo Paso

Con ADB instalado y funcionando, el siguiente paso es entender su arquitectura y conceptos fundamentales.

👉 Continuar con Capítulo 2: Conceptos Básicos y Arquitectura


Tip Pro: Guarda los comandos de instalación que usaste. Si cambias de máquina o necesitas ayudar a un colega, te ahorrarás tiempo.