Setup completo: Node.js, Android Studio, Appium Server y emulador
Node.js, Android Studio, SDK, variables de entorno, emulador Pixel 8, Appium 3.3.1, UiAutomator2. Setup paso a paso con errores reales en 8GB RAM.
Lo que hay que instalar (y en qué orden)
Este es el Post 2 de mi serie de mobile automation con Appium + Java + Android. En el Post 1 expliqué por qué Appium, por qué Java, por qué Android primero.
Appium no es una sola herramienta. Son varias piezas que tienen que funcionar juntas.
Hay 3 cosas que se sincronizan para que Appium funcione:
[ Appium Server (Node.js) ]
↓
[ UiAutomator2 Driver ]
↓
[ Android SDK + Emulador/Dispositivo ]
Si alguna de las tres falla o no se encuentra, no funciona.
El orden de instalación importa porque unas dependen de otras:
- Node.js (requisito de Appium Server)
- Android Studio (por el SDK, el emulador y las platform-tools)
- Variables de entorno (ANDROID_HOME, JAVA_HOME, PATH)
- Appium Server (vía npm)
- UiAutomator2 Driver (vía Appium)
- Emulador Android (AVD desde Android Studio)
Java 17 no lo incluyo porque ya lo tengo instalado de la serie Selenium. Si no lo tenés, instalá Eclipse Temurin JDK 17 desde adoptium.net.
1. Node.js
Appium Server corre sobre Node.js. Sin Node, no hay Appium.
Bajé la versión LTS desde nodejs.org. Instalación estándar en Windows, sin tocar nada.
Verificación:
PS C:\Users\Usuario> node -v
v24.14.0
PS C:\Users\Usuario> npm -v
11.9.0

Listo. Siguiente.
2. Android Studio
Esto es lo más pesado de todo el setup. Android Studio pesa varios GB y la instalación lleva un rato. Pero lo necesito por tres cosas: el SDK de Android, el emulador y las platform-tools (adb).
No voy a crear ningún proyecto de Android. Solo necesito lo que viene adentro.
Descarga e instalación
Bajé Android Studio Panda 4 (2025.3.4) desde developer.android.com/studio.
Durante la instalación:
- Componentes: Android Studio + Android Virtual Device (ambos tildados)
- Tipo de setup: Standard
- Telemetría: Don't send
El wizard descargó 635 MB en componentes del SDK:
- Android Emulator (399 MB)
- Android SDK Build-Tools 36.1 y 37
- Android SDK Platform 36.1
- Android SDK Platform-Tools (7.72 MB)
- Sources for Android 36.1
El error del hypervisor driver
Al final de la descarga de componentes apareció esto:
Running Android Emulator hypervisor driver installer
[SC] StartService con error 4294967201.

Este error es común en Windows. Si el equipo ya tiene Hyper-V o WHPX manejando la virtualización, el driver adicional no se necesita y el emulador funciona igual. Si te aparece, ignoralo — no es bloqueante.
El SDK quedó instalado en
C:\Users\Usuario\AppData\Local\Android\Sdk

Esta ruta es importante. La vamos a necesitar para configurar ANDROID_HOME.
3. Variables de entorno
Windows necesita saber dónde están el SDK de Android y Java. Sin esto, Appium no puede encontrar adb, el emulador ni el JDK.
ANDROID_HOME
Abrí PowerShell y corrí:
[System.Environment]::SetEnvironmentVariable("ANDROID_HOME", "C:\Users\Usuario\AppData\Local\Android\Sdk", "User")
PATH (platform-tools y emulador)
Agregué las carpetas de adb y del emulador al PATH:
[System.Environment]::SetEnvironmentVariable("Path", $env:Path + ";C:\Users\Usuario\AppData\Local\Android\Sdk\platform-tools;C:\Users\Usuario\AppData\Local\Android\Sdk\emulator", "User")
JAVA_HOME
Ya tenía Java 17 instalado de la serie Selenium, pero no tenía JAVA_HOME configurado como variable de entorno. Esto no me había afectado con Selenium (IntelliJ lo resuelve internamente), pero Appium lo necesita explícitamente.
[System.Environment]::SetEnvironmentVariable("JAVA_HOME", "C:\Program Files\Eclipse Adoptium\jdk-17.0.14.7-hotspot", "User")
Importante: después de configurar las variables, hay que cerrar y reabrir PowerShell para que tome los cambios.
Verificación

adb responde. El emulador responde (pero sin dispositivos todavía). Las variables están bien.
4. Appium Server
Con Node.js instalado, instalar Appium es un comando:
PS C:\Users\Usuario> npm install -g appium
Aparecieron algunos warnings de glob deprecated y un notice de npm nuevo disponible. Nada que afecte.
added 357 packages in 50s
Verificación:

PS C:\Users\Usuario> appium -v
3.3.1
Appium 3.3.1 instalado. En el Post 1 mencioné que la versión actual era 3.2.2 — entre que escribí ese post y este, salió una nueva versión. Así funciona npm: siempre instala la última.
5. UiAutomator2 Driver
El driver es lo que conecta Appium con Android. Sin él, Appium no puede interactuar con el emulador ni con un dispositivo.
PS C:\Users\Usuario> appium driver install uiautomator2
Apareció un DeprecationWarning de Node.js sobre shell option true. No afecta la instalación.
✓ Installing 'uiautomator2'
✓ Validating 'uiautomator2'
ℹ Driver [email protected] successfully installed
- automationName: UiAutomator2
- platformNames: ["Android"]
Verificación:

PS C:\Users\Usuario> appium driver list --installed
✓ Listing installed drivers (rerun with --verbose for more info)
- [email protected] [installed (npm)]
UiAutomator2 7.2.0 instalado.
6. Emulador Android (AVD)
Crear el dispositivo virtual
En Android Studio → Device Manager → Create virtual device.
Elegí:
- Hardware: Pixel 8 (1080 × 2400, 420 dpi)

- System image: Google Play Intel x86_64 Atom System Image, API 35 (Android 15 "VanillaIceCream")

Un detalle: Android Studio me ofrecía por defecto una imagen Pre-Release de API 37 (Android 17). La cambié por API 35 que es estable. Para automation no querés imágenes pre-release — querés estabilidad.

La descarga de la system image fue de 1.6 GB.
Arrancar el emulador
Desde Device Manager le di play al Pixel 8. La primera vez tarda un rato en bootear.

Verificación con el emulador corriendo:

El emulador está corriendo y adb lo ve.
La realidad de 8GB de RAM
Esto es lo que quería documentar.
Con el emulador corriendo + Android Studio + Chrome + PowerShell:
- RAM: 7.5 de 8 GB usados (97%)
- CPU: 91%
qemu-system-x86_64.execonsumiendo 41.8% de CPU solo

Mi máquina tiene 8GB. Eso es una restricción real que mucha gente en LATAM tiene. El emulador funciona, pero la máquina queda al límite.
Tips para equipos con poca RAM:
- Cerrar Android Studio después de crear el AVD. Solo necesito que el emulador corra, no el IDE.
- Cerrar Chrome o al menos minimizar las pestañas. El browser compite fuerte por RAM.
- No correr IntelliJ al mismo tiempo que el emulador. Uno o el otro.
- Si la máquina se pone muy lenta, la alternativa es usar un dispositivo físico por USB (eso lo cubro en un post mas adelante (Post 8)).
Esto no es un problema de Appium. Es la realidad de correr emuladores en equipos con 8GB, y conviene tenerlo claro antes de escribir el primer test.
7. Verificación final: appium driver doctor
Appium tiene un comando para verificar que todo esté en orden:
PS C:\Users\Usuario> appium driver doctor uiautomator2
Resultado:

Los 3 warnings son opcionales:
- bundletool.jar: para manejar Android App Bundles (.aab). No lo necesito — voy a usar .apk directamente.
- ffmpeg.exe: para grabar la pantalla del dispositivo. Útil para debugging, pero no es bloqueante.
- gst-launch / gst-inspect: para streaming de pantalla. Tampoco bloqueante.
Lo importante: 0 required fixes needed.
El fix de JAVA_HOME que casi me frena
La primera vez que corrí appium driver doctor tenía 2 required fixes:
✗ JAVA_HOME environment variable is NOT set!
✗ %JAVA_HOME% environment variable must be set

Ya tenía Java 17 instalado y funcionando en IntelliJ sin problemas. Pero no tenía la variable de entorno JAVA_HOME configurada.
En Selenium con IntelliJ esto no importa porque IntelliJ detecta el JDK por su cuenta. Pero Appium busca JAVA_HOME explícitamente. Si no la encuentra, no arranca.
La solución fue configurar la variable apuntando a la carpeta del JDK. Después de eso, todo verde.

Estado actual
Instalé:
| Herramienta | Versión |
|---|---|
| Node.js | v24.14.0 |
| npm | 11.9.0 |
| Android Studio | Panda 4 (2025.3.4) |
| Android SDK Platform-Tools | 37.0.0 |
| Android SDK Build-Tools | 36.1 y 37 |
| Appium Server | 3.3.1 |
| UiAutomator2 Driver | 7.2.0 |
| Emulador | Pixel 8, API 35 (Android 15) |
| Java | Temurin 17.0.14 |
Variables de entorno configuradas:
ANDROID_HOME→C:\Users\Usuario\AppData\Local\Android\SdkJAVA_HOME→C:\Program Files\Eclipse Adoptium\jdk-17.0.14.7-hotspotPATHincluyeplatform-toolsyemulator
appium driver doctor uiautomator2 → 0 required fixes.
Con la infraestructura verificada, en el próximo post arranco con el proyecto Maven, las dependencias de Appium y el primer test abriendo la app en el emulador.