npx cap run android runs a sync, ./gradlew assembleDebug, then an install and launch through Ionic 20,753 's open-source native-run 137 (github.com/ionic-team/native-run (https://github.com/ionic-team/native-run 137 )), which drives adb. Without --target it asks for a device; --list prints the choices.
npx cap run android --list
npx cap run android --target emulator-5582Output
$ npx cap run android --list Name API Target ID --------------------------------------------------- Google sdk_gphone64_x86_64 API 36 emulator-5554 ... Google sdk_gphone64_x86_64 API 36 emulator-5582 book (emulator) API 36 book $ npx cap run android --target emulator-5582 ... ✔ Running Gradle build in 2.79s ✔ Deploying app-debug.apk to emulator-5582 in 33.88s
book is an installed AVD rather than a running device: choosing it makes native-run reuse an emulator running that AVD or boot one. The first Gradle 19,597 build took 40.53 s; later ones hit the cache. --no-sync skips the sync. On iOS (not run here), cap run ios builds with xcodebuild, and --target-name "iPhone 17 Pro" selects a simulator by name.