SFT Device Farmer: Cómo Instalar tu Propia Granja de Dispositivos Android con STF en Linux

Si eres un desarrollador, tester o profesional de tecnología que trabaja constantemente con múltiples dispositivos Android, seguramente conoces los desafíos que implica gestionar y coordinar varios terminales simultáneamente. STF Device Farmer (Smartphone Test Farm) es una solución innovadora que permite crear una granja centralizada de dispositivos Android, facilitando su administración remota y el testing distribuido. En este artículo, te guiaremos a través de todo lo que necesitas saber sobre esta poderosa herramienta y cómo instalarla en tu propio servidor Linux.

¿Qué es SFT Device Farmer?

STF Device Farmer es una plataforma open-source desarrollada originalmente por OpenSTF que permite gestionar, controlar y monitorear múltiples dispositivos Android desde una interfaz web centralizada. Esta herramienta es especialmente valiosa para equipos de desarrollo y QA que necesitan realizar pruebas simultáneas en diversos dispositivos con diferentes configuraciones, versiones de Android y características hardware.

Las capacidades principales de STF Device Farmer incluyen la visualización remota del pantalla de los dispositivos, ejecución de comandos, instalación de aplicaciones, captura de logs, gestión de conexiones USB, y mucho más. Todo esto desde una interfaz intuitiva accesible a través del navegador web, sin necesidad de cables USB directos o software adicional en cada máquina cliente.

Beneficios de Implementar una Granja de Dispositivos

Implementar tu propia granja de dispositivos Android con STF te proporciona numerosas ventajas operacionales. En primer lugar, centraliza la gestión de recursos, permitiendo que múltiples miembros del equipo trabajen simultáneamente con diferentes dispositivos. Además, automatiza procesos de testing, facilita la documentación de bugs mediante capturas y grabaciones de pantalla, y reduce significativamente el tiempo de ciclo de desarrollo.

Desde una perspectiva económica, una granja de dispositivos permite optimizar el uso de hardware existente y reduce la necesidad de que cada desarrollador tenga su propio conjunto de terminales. Esto resulta especialmente importante en organizaciones grandes donde pueden trabajar decenas de profesionales en paralelo.

Requisitos Previos para la Instalación

Antes de comenzar con la instalación de STF Device Farmer, asegúrate de cumplir con los siguientes requisitos técnicos:

  • Un servidor o máquina virtual con Ubuntu Linux (versiones 18.04 LTS o superior recomendadas)
  • Al menos 4GB de RAM, aunque se recomiendan 8GB o más si planeas conectar múltiples dispositivos
  • Espacio en disco suficiente (mínimo 20GB, preferiblemente más según la cantidad de dispositivos)
  • Node.js y npm instalados en el sistema
  • Docker (opcional pero recomendado para facilitar la instalación)
  • Dispositivos Android con depuración USB habilitada
  • Conexión a red estable entre el servidor y los dispositivos

Guía Paso a Paso: Instalación en Ubuntu

Paso 1: Actualizar el Sistema

Lo primero que debes hacer es asegurar que tu sistema Ubuntu esté completamente actualizado. Abre una terminal y ejecuta los siguientes comandos:

sudo apt update
sudo apt upgrade -y
sudo apt install -y curl wget git build-essential

Paso 2: Instalar Node.js y npm

STF Device Farmer requiere Node.js para funcionar. Instala Node.js desde el repositorio NodeSource, que proporciona versiones más actualizadas que los repositorios estándar de Ubuntu:

curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
sudo apt install -y nodejs

Verifica la instalación comprobando las versiones:

node --version
npm --version

Paso 3: Instalar Android Platform Tools

Para que STF pueda comunicarse con los dispositivos Android, necesitas instalar las Android Platform Tools, que incluyen adb (Android Debug Bridge):

sudo apt install -y android-tools-adb android-tools-fastboot

Verifica que adb se instaló correctamente:

adb version

Paso 4: Instalar Dependencias Adicionales

STF Device Farmer requiere varias dependencias del sistema. Instálalas con el siguiente comando:

sudo apt install -y graphicsmagick imagemagick openjdk-11-jdk libzmq3-dev libprotobuf-dev protobuf-compiler

Paso 5: Instalar STF Device Farmer

Ahora instalaremos STF globalmente usando npm:

sudo npm install -g stf

Este proceso puede tardar algunos minutos dependiendo de tu conexión a internet y del rendimiento de tu máquina.

Paso 6: Configuración Inicial

Una vez instalado, necesitas configurar STF. Primero, crea un directorio de trabajo:

mkdir -p ~/stf-workspace
cd ~/stf-workspace

Paso 7: Iniciar STF Device Farmer

Para iniciar STF con configuración básica, ejecuta:

stf local

Este comando inicia STF en modo local, lo que significa que la interfaz web estará disponible en tu máquina. Para acceder desde la red, puedes usar:

stf start --public [tu_ip_servidor]

Conectando Dispositivos Android a tu Granja

Una vez que STF está ejecutándose, el siguiente paso es conectar tus dispositivos Android. Asegúrate de que cada dispositivo tenga la depuración USB habilitada. Puedes hacer esto yendo a Configuración > Opciones de Desarrollador > Depuración USB en cada terminal Android.

Conecta los dispositivos a la máquina servidor mediante USB o a través de la red. Usa adb para verificar que los dispositivos se detectan correctamente:

adb devices

Los dispositivos conectados deberían aparecer en la lista. Una vez que adb los reconoce, STF también los detectará automáticamente y los incluirá en la interfaz web.

Accediendo a la Interfaz Web de STF

Abre tu navegador web y accede a la interfaz de STF. Si ejecutaste STF localmente, la URL será típicamente http://localhost:7100. Si lo ejecutaste con IP pública, será

¿Quieres más contenido como este?