42c14fae59
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2.0 KiB
2.0 KiB
name, kind, lang, domain, version, purity, signature, description, tags, params, output, uses_functions, uses_types, returns, returns_optional, error_type, imports, tested, tests, test_file_path, file_path
| name | kind | lang | domain | version | purity | signature | description | tags | params | output | uses_functions | uses_types | returns | returns_optional | error_type | imports | tested | tests | test_file_path | file_path | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| android_emulator_start | function | bash | infra | 1.0.0 | impure | android_emulator_start(avd_name: string, timeout_s: int) -> string | Arranca un AVD en background y espera a que termine de bootear. Idempotente: si ya hay emulador corriendo no lanza otro. |
|
|
Serial del device emulado (ej. emulator-5554) en stdout. Exit 0 = boot completo, exit 1 = timeout o emulador murio. |
|
false | error_go_core | false | bash/functions/infra/android_emulator_start.sh |
Ejemplo
source bash/functions/infra/android_emulator_start.sh
# Arrancar AVD con timeout por defecto (180s)
serial=$(android_emulator_start "Pixel_6_API_34")
echo "Emulador listo: $serial" # emulator-5554
# Con timeout personalizado
serial=$(android_emulator_start "Pixel_6_API_34" 300)
Notas
- Sourcea
adb_wsl.shdel mismo directorio si existe (proveeADB,adb_run,adb_wait_boot). Si no, usa implementacion inline. - Resuelve
EMULATORyADBdesdeANDROID_SDK_WIN(default/mnt/c/Users/lucas/AppData/Local/Android/Sdk) o desde las variables de entornoEMULATOR=/ADB=si ya están fijadas. - Idempotente: si
adb devicesya muestra unemulator-*, imprime "already running" + el serial y sale con exit 0 sin lanzar un segundo proceso. - Log del emulador en
/tmp/emulator_<avd>.log. PID en/tmp/emulator_<avd>.pid. - El timeout total se reparte: primera mitad para
adb wait-for-device, segunda mitad para esperarsys.boot_completed=1. - Diseñado para WSL2 con Android SDK instalado en Windows. En Linux nativo basta cambiar las rutas de los binarios via
EMULATOR=yADB=.