# Guía de conexión ADB

Esta guía proporciona instrucciones detalladas para conectarse a dispositivos telefónicos en la nube a través de ADB, compatibles con las versiones **Android 12/15** y **Android 13/14**.

## 1. Conexión ADB para teléfonos en la nube con Android 12/Android 15

### Paso 1: Conéctese a la IP y al puerto del teléfono en la nube

Utilice el comando `adb connect` para conectarse directamente a la dirección IP y al puerto del teléfono en la nube.

```bash
adb connect 172.168.10.1:123456
```

> Reemplace `172.168.10.1:123456` con la IP y el puerto reales de su teléfono en la nube.


### Paso 2: autenticarse con el código de conexión

Después de una conexión exitosa, autentíquese utilizando el código de conexión.

```bash
adb shell 123456
```

Después de una autenticación exitosa, se le configurará de manera predeterminada para ingresar al teléfono en la nube y podrá usar "salir" para cerrar sesión.

```bash
exit
```

O especifique la dirección del dispositivo:

```bash
adb -s 172.168.10.1:123456 shell 123456
```

> Nota: El código de conexión generalmente lo proporciona la plataforma de telefonía en la nube. Asegúrese de que esté ingresado correctamente.


## 2. Conexión ADB para teléfonos en la nube Android 13 / Android 14 / Android 15A / Android 16

Para estas versiones, se debe establecer un túnel SSH para reenviar el puerto ADB. Esto requiere dos pasos.

### Paso 1: establecer un túnel SSH (abrir la primera ventana CMD)

Ejecute el siguiente comando SSH para asignar el puerto ADB remoto a su máquina local:

```bash
ssh -oHostKeyAlgorithms=+ssh-rsa 10.2.179.250_1763627294587@107.151.131.2 -p 1824 -L 9897:adb-proxy:14566 -Nf
```

> Notas:
- Reemplace el nombre de usuario, IP y puerto en el comando con su configuración real.
- Cuando se le solicite una contraseña, pegue la contraseña SSH y presione Entrar.
- El comando no producirá ningún resultado si tiene éxito, lo que indica que el túnel se está ejecutando en segundo plano.



### Paso 2: Conéctese al puerto ADB local (abra la segunda ventana CMD)

En una nueva ventana, ejecute el comando de conexión ADB:

```bash
adb connect localhost:9897
```

Ejemplo de salida exitosa:

```
connected to localhost:9897
```

## Ejemplo completo de flujo de trabajo

### 1. Primera ventana CMD (túnel SSH):

```bash
ssh -oHostKeyAlgorithms=+ssh-rsa 10.2.179.250_1763627294587@107.151.131.2 -p 1824 -L 9897:adb-proxy:14566 -Nf
```

A continuación, ingrese la contraseña de conexión SSH

### 2. Segunda ventana CMD (Conexión ADB):

```bash
adb connect localhost:9897
```

## Verificar el estado de la conexión

Ejecute el siguiente comando para verificar si el dispositivo está conectado:

```bash
adb devices
```

Resultado esperado:

```
List of devices attached
localhost:9897     Device
```

## Referencia de comandos comunes de ADB

| Comando | Descripción |
|  --- | --- |
| CODIGO_PH_0 | Listar dispositivos conectados |
| CODIGO_PH_0 | Ingrese al terminal del shell del dispositivo |
| CODIGO_PH_0 | Listar aplicaciones instaladas |
| CODIGO_PH_0 | Instalar el archivo APK |
| CODIGO_PH_0 | Desinstalar aplicación |
| CODIGO_PH_0 | Reiniciar dispositivo |


## Notas importantes

- Asegúrese de haber instalado [Herramientas de la plataforma SDK de Android](https://developer.android.com/studio/releases/platform-tools) y de haber configurado las variables de entorno.
- El método de túnel SSH para Android 13/14/15A está cifrado y es seguro; se recomienda su uso.
- Si la conexión se agota, verifique la configuración de red, las reglas de firewall y las configuraciones de puertos.
- Confirme siempre que el teléfono en la nube esté encendido y que el acceso ADB esté habilitado antes de conectarse.


Siga estos pasos para conectar con éxito su teléfono en la nube para tareas de automatización y depuración de ADB.