Pruebas de apps Android en dispositivos reales
Probar apps Android online en modelos de teléfonos reales.
Prueba tus apps Android en modelos de teléfono reales, los que de verdad tienen tus usuarios: 150+ modelos de 11 marcas, de Android 12 a 17. Vuelve a un snapshot limpio antes de cada prueba, clona para correr en paralelo y accede a cada teléfono por ADB y la API.
Los teléfonos que tienen tus usuarios.
Una granja de dispositivos Android sin laboratorio: desde los Galaxy de la serie A más económicos hasta los Pixel de este año, cada modelo creado a partir de una captura del dispositivo real y medido contra él antes de que nadie pueda lanzarlo. No es un emulador: Android corre de forma nativa en servidores ARM con el perfil de ese modelo.
Diseños en pantallas reales
Resolución, densidad y características de la pantalla real, para que los diseños, las capturas y las pruebas visuales coincidan con el dispositivo.
Gráficos de fábrica
Fabricante y renderizador de la GPU, versiones de OpenGL y Vulkan del chipset real, para que tu app vea el hardware que espera.
Con Google Play
Servicios de Google Play y Play Store instalados como en un teléfono, para las apps que los necesitan para iniciar sesión, pagar o actualizarse.
Un teléfono limpio en cada prueba.
Lleva un teléfono al estado que esperan tus pruebas, guarda un snapshot y vuelve a él antes de cada ejecución. Cuando un teléfono no alcanza, clona más a partir del mismo snapshot. Restaura un snapshot limpio con una sola llamada.
- Restaurar antes de cada pruebaUna llamada devuelve el teléfono al snapshot limpio, así cada prueba parte del mismo estado.
- Clonar para correr en paraleloTeléfonos nuevos a partir del mismo snapshot, cada uno con su propia identidad, para repartir una suite entre dispositivos.
- Copias nocturnasGuarda un snapshot de los teléfonos cada noche con un horario; los teléfonos detenidos no cuestan nada mientras esperan.
ADB, cuando necesitas bajar de nivel.
Cada teléfono tiene su propio relé ADB. Está apagado hasta que lo abres para tus IP y por un tiempo fijo, y rechaza todo lo que podría dañar el dispositivo.
- Apagado hasta que lo enciendesActívalo por teléfono con una lista de hasta 20 IP o CIDR permitidas.
- Caduca solo24 horas por defecto, hasta 7 días; las sesiones inactivas se cierran a los 30 minutos.
- Un código de acceso de un solo usoSe muestra una sola vez; los códigos erróneos bloquean el relé. Hasta 3 sesiones por teléfono, push y pull de hasta 2 GiB por sesión.
- Servicios peligrosos bloqueadosroot, remount, disable-verity, reverse, reboot, tcpip, usb, jdwp, sideload y restore se rechazan siempre. Cada sesión queda registrada.
# 1. open ADB on qa01 for your IP, 24 hours (dashboard or API) curl -X POST https://api.clousd.com/v1/devices/qa01/adb \ -H "Authorization: Bearer $CLOUSD_KEY" \ -H "Content-Type: application/json" \ -d '{"allow_ips":["203.0.113.7"],"ttl_hours":24}' # → connect command and a one-time code, shown once # 2. connect and sign in with the code adb connect $HOST:$PORT adb -s $HOST:$PORT shell clousd-login $CODE # 3. work as usual adb -s $HOST:$PORT install app-debug.apk adb -s $HOST:$PORT shell pm list packages | grep example adb -s $HOST:$PORT logcat -d | tail -n 50
Conéctalo a tu CI.
Todo lo que necesita una prueba es una llamada REST a https://api.clousd.com/v1. Las operaciones largas responden 202 con una tarea que puedes consultar, y una clave se puede limitar a los teléfonos de prueba y a lectura o control. Mira la API REST y el relé ADB y las rutas para CI.
API=https://api.clousd.com/v1 AUTH="Authorization: Bearer $CLOUSD_KEY" # reset qa01 to its clean snapshot and wait for the job JOB=$(curl -s -X POST -H "$AUTH" \ $API/devices/qa01/snapshots/v20/restore | jq -r .job.id) until [ "$(curl -s -H "$AUTH" $API/jobs/$JOB | jq -r .job.state)" \ != running ]; do sleep 3; done # install this build and open it curl -s -H "$AUTH" -F apk=@app-release.apk $API/devices/qa01/apk curl -s -H "$AUTH" -H "Content-Type: application/json" \ -d '{"op":"open_app","package":"com.example.app"}' \ $API/devices/qa01/action # keep the evidence curl -s -H "$AUTH" $API/devices/qa01/screenshot -o after.png curl -s -H "$AUTH" $API/devices/qa01/logs > logcat.txt
# the same steps on four phones at once, 0–5 s apart curl -X POST https://api.clousd.com/v1/groups -H "$AUTH" \ -H "Content-Type: application/json" -d '{ "phones": ["qa01", "qa02", "qa03", "qa04"], "steps": [ {"op": "open_app", "package": "com.example.app"}, {"op": "wait", "seconds": 3}, {"op": "if_text", "text": "Sign in", "skip": 1}, {"op": "screenshot"} ], "stagger": [0, 5] }' # 202 → progress per phone in job.output
# a key created with a webhook URL receives signed events POST https://ci.example.com/clousd X-Clousd-Signature: 9f2c…e41a {"event": "job.finished", "ts": …, "phone": "qa01", "job": {…}} # events: job.finished · health.problem · health.resolved # signature: HMAC-SHA256 of the body · 3 delivery attempts
Prueba tu app en distintos países.
Dale a un teléfono una salida en otro país y su zona horaria, idioma, teclado, tienda y país de SIM se ajustan, para que veas tu app como la ven los usuarios de allí. Sigue la prueba en directo, sin moverte de tu escritorio.
La transmisión baja de calidad cuando baja tu conexión y vuelve a subir cuando se recupera. Multi-view muestra muchas pantallas a la vez, y Sync replica lo que haces en los teléfonos que elijas.
Preguntas sobre pruebas de apps
¿Algo más? Escribe a soporte y te responde una persona, normalmente en un día hábil.
¿Es un emulador?
No. Android corre de forma nativa en servidores ARM con el perfil de un modelo de teléfono real, así que tu app ve ese modelo y no un dispositivo de emulador genérico. Teléfono en la nube frente a emulador
¿Hay prueba gratis?
Sí. Tu primer teléfono funciona 30 minutos gratis, sin tarjeta y sin recarga. Después es cobro por minuto, sin licencias por usuario: $0.004 por minuto mientras un teléfono está encendido.
¿Puedo elegir la versión exacta de Android?
Sí, por teléfono. Cada modelo del catálogo indica las versiones disponibles hoy, de Android 12 a 17. Android 12–14 tienen el precio base; Android 15 cuesta un 10 % más, y Android 16 y 17, un 25 % más.
¿Cómo reinicio un teléfono entre pruebas?
Guarda un snapshot una vez, en estado limpio, y restáuralo antes de cada prueba. Es una sola llamada a la API que responde 202 con una tarea que puedes consultar en /v1/jobs/{id}.
¿Puedo correr una suite en paralelo?
Sí. Clona teléfonos nuevos a partir del snapshot limpio, cada uno con su propia identidad, y reparte la suite entre ellos, o ejecuta los mismos pasos en todo un grupo con un desfase aleatorio.
¿ADB queda abierto a internet?
No. ADB está apagado por defecto. Lo abres por teléfono para una lista de hasta 20 IP o CIDR permitidas y por un tiempo fijo (24 horas por defecto, hasta 7 días), entras con un código de un solo uso y cada sesión queda registrada.
¿Puedo instalar mi propio APK?
Sí: súbelo en el panel, envíalo a POST /v1/devices/{id}/apk o instálalo con adb install a través del relé.
¿Un agente de IA puede hacer las pruebas?
Sí, en acceso anticipado: el agente mira la pantalla y sus elementos, y luego toca y escribe con las llamadas observe y act, partiendo de un snapshot limpio en cada ejecución. Mira las pruebas con agentes.
¿Puedo probar cómo se comporta mi app en otro país?
Sí. Dale al teléfono una salida en ese país y su zona horaria, idioma, teclado, tienda y país de SIM se ajustan. Elige la región más cercana a tu equipo para que la pantalla y ADB respondan rápido.
Pon tu app en un modelo real en un minuto.
- Los primeros 30 minutos son gratis, sin tarjeta.
- Elige un modelo y una versión de Android.
- Instala tu build y empieza a probar.