API Docker para controlar dispositivos Android mediante ADB
3.3K
API Docker para controlar dispositivos Android mediante ADB (Android Debug Bridge).
mkdir docker-adb-api
cd docker-adb-api
docker-compose build
docker-compose up -d
docker ps | grep adb-control-api
http://localhost:8000http://localhost:8000/docshttp://localhost:8000/redoccurl -X POST "http://localhost:8000/devices/connect?ip=192.168.0.161&port=5555"
curl "http://localhost:8000/devices"
curl "http://localhost:8000/device/info?device_ip=192.168.0.161"
curl "http://localhost:8000/device/current-app?device_ip=192.168.0.161"
curl "http://localhost:8000/device/installed-apps?device_ip=192.168.0.161&limit=20"
curl "http://localhost:8000/device/logcat?device_ip=192.168.0.161&lines=50"
curl "http://localhost:8000/device/volume/current?device_ip=192.168.0.161"
curl -X POST "http://localhost:8000/device/volume/increase?device_ip=192.168.0.161&steps=2"
curl -X POST "http://localhost:8000/device/volume/decrease?device_ip=192.168.0.161&steps=1"
curl -X POST "http://localhost:8000/device/volume/set?device_ip=192.168.0.161&level=7"
curl -X POST "http://localhost:8000/device/volume/mute?device_ip=192.168.0.161"
curl -X POST "http://localhost:8000/play?device_ip=192.168.0.161&video_url=https://www.youtube.com/watch?v=dQw4w9WgXcQ"
curl -X POST "http://localhost:8000/stop?device_ip=192.168.0.161"
curl -X POST "http://localhost:8000/exit?device_ip=192.168.0.161"
curl "http://localhost:8000/screenshot?device_ip=192.168.0.161" -o screenshot.png
curl "http://localhost:8000/status?device_ip=192.168.0.161"
curl -X POST "http://localhost:8000/command?device_ip=192.168.0.161&command=input%20keyevent%20KEYCODE_HOME"
curl -X POST "http://localhost:8000/devices/disconnect?device_ip=192.168.0.161"
| Método | Ruta | Descripción | Parámetros |
|---|---|---|---|
| GET | / | Información de la API | - |
| Device Management | |||
| POST | /devices/connect | Conectar dispositivo | ip, port (opcional) |
| GET | /devices | Listar dispositivos conectados | - |
| GET | /status | Estado del dispositivo | device_ip |
| POST | /devices/disconnect | Desconectar dispositivo | device_ip |
| Device Information | |||
| GET | /device/info | Información detallada del dispositivo | device_ip |
| GET | /device/current-app | Aplicación actualmente en pantalla | device_ip |
| GET | /device/installed-apps | Lista de aplicaciones instaladas | device_ip, limit (opcional) |
| GET | /device/logcat | Logs del sistema | device_ip, lines (opcional), filter_text (opcional) |
| Volume Control | |||
| GET | /device/volume/current | Obtener volumen actual | device_ip |
| POST | /device/volume/increase | Aumentar volumen | device_ip, steps (1-15) |
| POST | /device/volume/decrease | Disminuir volumen | device_ip, steps (1-15) |
| POST | /device/volume/set | Establecer nivel de volumen | device_ip, level (0-15) |
| POST | /device/volume/mute | Silenciar dispositivo | device_ip |
| Video Control | |||
| POST | /play | Reproducir video | device_ip, video_url |
| POST | /stop | Pausar video | device_ip |
| POST | /exit | Salir de app | device_ip |
| Device Operations | |||
| GET | /screenshot | Descargar screenshot | device_ip |
| POST | /command | Comando personalizado | device_ip, command |
{
"status": "success",
"message": "Conectado a 192.168.0.161:5555"
}
{
"detail": "Dispositivo no conectado"
}
Para que la API funcione, necesitas:
Habilitar Depuración por USB:
Habilitar Depuración Inalámbrica:
Ver logs del contenedor:
docker logs -f adb-control-api
docker-compose down
adb devicesdocker-compose restart/sdcarddocker logs adb-control-apiUsa los scripts disponibles en home-assistant/scripts.yaml
Licencia de Uso No Comercial
Este proyecto está bajo una licencia de uso no comercial. Puedes utilizarlo para:
Uso comercial prohibido sin autorización explícita. Para licencias comerciales, contacta a los autores.
Ver LICENSE para más detalles.
Content type
Image
Digest
sha256:5c7e4c5fa…
Size
64.6 MB
Last updated
8 months ago
docker pull hn8888/adb-api