--- name: android_app_launch kind: function lang: bash domain: infra version: "1.0.0" purity: impure signature: "android_app_launch([--serial ], package: string, [activity: string]) -> void" description: "Launch app activity via am start. Multi-emulator via --serial." tags: [android, adb, app, launch, activity, pendiente-usar] params: - name: "--serial " desc: "Optional target serial. Default: first device" - name: "package" desc: "App package id" - name: "activity" desc: "Optional activity. If omitted, launches via LAUNCHER intent" output: "Stdout 'launched on '. Exit 0 ok, 3 no device." uses_functions: [adb_wsl_bash_infra] uses_types: [] returns: [] returns_optional: false error_type: "error_go_core" imports: [] tested: false tests: [] test_file_path: "" file_path: "bash/functions/infra/android_app_launch.sh" --- ## Ejemplo ```bash # Lanzar actividad principal explicitamente android_app_launch com.foo.bar .MainActivity # Lanzar por LAUNCHER intent (detecta actividad principal automaticamente) android_app_launch com.foo.bar # Multi-emulador: elegir serial concreto android_app_launch --serial emulator-5554 com.foo.bar .MainActivity ``` ## Notas Usa `adb_pick_serial` de `adb_wsl.sh` para resolver el serial objetivo. Si no hay ningun device/emulador disponible, sale con exit code 3. Si `activity` no se especifica, usa `monkey -p -c android.intent.category.LAUNCHER 1` para lanzar la actividad principal sin necesidad de conocerla de antemano.