Next-Gen App & Browser Testing Cloud
Trusted by 2 Mn+ QAs & Devs to accelerate their release cycles

To run an app on the Android Emulator Online, open your project in Android Studio, pick an AVD from the target device menu, and press Run (Shift+F10). Gradle builds the APK, installs it on the running emulator, and launches it. To debug it, set breakpoints in the gutter and start the app with Debug (Shift+F9). When execution pauses on a breakpoint, the Debug tool window opens with the Debugger and Logcat tabs so you can inspect variables, step through code, and read live logs. You can also drive the same workflow from the terminal with adb and Gradle.
The emulator ships with Android Studio, so the prerequisites are a current version of Android Studio, the Android SDK, and at least one Android Virtual Device (AVD) image. If the target device menu has no emulators listed, create one in the Device Manager first. Setting up emulators is covered in Install Setup Android Emulators, and tuning an existing AVD (graphics, RAM, cold boot) in Configure Emulator Settings. Once Android Studio and one AVD are ready, you can build and run.
The fastest path is the Android Studio build-and-run flow. In one action it compiles the app with Gradle, boots the chosen emulator, installs the APK, and launches it.
When you already have a built .apk (from CI, a colleague, or a prior build), you can install it on a running emulator without opening Android Studio. Confirm the emulator is connected with adb devices, then install the package. Gradle can also build and deploy the debug variant in a single task.
# List the connected emulators and devices
adb devices
# Install an APK on the running emulator
adb install app.apk
# Reinstall over an existing app, keeping its data
adb install -r app.apk
# Target a specific emulator when more than one is running
adb -s emulator-5554 install app.apk
# Build the debug variant and install it in one Gradle task
./gradlew installDebugThis command-line workflow is what most CI pipelines and automation frameworks use under the hood to put a build on an emulator before running tests against it.
To debug, start the app with Debug (Shift+F9) instead of Run, or attach the debugger to an already-running process. Android Studio installs a debug build on the emulator and connects the debugger. The main facilities are:
Inside the IDE, open View > Tool Windows > Logcat to read the emulator's logs filtered by process, tag, and priority. Outside Android Studio, adb logcat streams the same buffer, and a filterspec keeps the output limited to your app instead of the whole system.
# Stream all logs from the emulator
adb logcat
# Clear the log buffer before a fresh run
adb logcat -c
# Show only your tag at Info level and above, silence the rest
adb logcat MyAppTag:I *:S
# Filter the unified log to a process and save it to a file
adb logcat | grep com.example.myapp > app.logWhen the app runs but feels slow, leaks memory, or makes too many network calls, open the Profiler from View > Tool Windows > Profiler while the app is running on the emulator. It gives you live, recordable timelines:
Rebuilding and redeploying after every small edit is slow. Android Studio's Apply Changes lets you push updates to the app already running on the emulator without a full reinstall, as long as the device runs Android 8.0 (API 26) or higher:
The emulator can reproduce many runtime conditions so you can debug code paths that are hard to trigger by hand. Use adb shell am start to fire intents and deep links, and the emulator's Extended controls panel (the "…" button on the emulator toolbar) to simulate the environment.
# Open a deep link / VIEW intent in your app
adb shell am start -W -a android.intent.action.VIEW \
-d "myapp://promo/123" com.example.myapp
# Launch a specific activity directly
adb shell am start -n com.example.myapp/.MainActivity
# Send a custom broadcast the app listens for
adb shell am broadcast -a com.example.myapp.ACTION_SYNCTo plug the emulator into Appium, Espresso, or your CI workflow, see Integrate Emulator with Testing Tools. If the emulator refuses to boot, hangs, or throws install errors, Troubleshoot Emulator Errors walks through the fixes.
The emulator is fast for the inner loop of writing code and stepping through it, but it is not a perfect stand-in for physical hardware. Cameras, fingerprint and face unlock, real push delivery, true performance and thermals, and OEM skins such as Samsung One UI, Xiaomi MIUI, or OPPO ColorOS can behave differently from the emulated version. Maintaining a shelf of physical Android phones for every version and vendor is expensive, which is where cloud Android devices help. With TestMu AI's Real Device Cloud you can install the same APK on a remote, physical Android handset, interact with it live in your browser, capture Logcat and video, and reproduce the device-only bugs an emulator cannot surface. The iOS counterpart of this workflow is covered in How to Run and Debug Apps on the Simulator?.
Open your project in Android Studio, pick an AVD from the target device menu, and press Run (Shift+F10) or click the green Run arrow. Android Studio builds the APK with Gradle, signs it with a debug key, installs it on the running emulator, and launches it. From the terminal you can do the same with adb install app.apk after starting an emulator.
Set breakpoints by clicking the gutter or pressing Control+F8, then start the app with Debug (Shift+F9). When execution hits a breakpoint, the Debug tool window opens with the Debugger tab showing the Frames and Variables panes. Use Step Over, Step Into, Step Out, and Resume to move through the code, Evaluate Expression to inspect ad hoc values, and the Logcat tab to read live logs.
Start an emulator, confirm it is connected with adb devices, then run adb install app.apk to install the package. Use adb install -r app.apk to reinstall over an existing app while keeping its data, and adb -s emulator-5554 install app.apk to target a specific emulator instance when more than one is running.
Inside Android Studio open View > Tool Windows > Logcat to read the emulator's logs in real time, filtered by process, tag, and priority. From the terminal, adb logcat streams the same log buffer, and you can narrow it with a filterspec such as adb logcat MyAppTag:I *:S or clear it first with adb logcat -c.
Apply Changes pushes code and resource changes to the running app on the emulator without a full reinstall, and Apply Code Changes pushes only code changes without restarting the activity. They rely on runtime instrumentation in Android 8.0 (API 26) and higher and give you a faster edit-run loop. Structural changes, such as adding a method or editing the manifest, still need a full Run.
No. The emulator is excellent for fast iteration, but real hardware behaviour around cameras, fingerprint and face unlock, push notifications, true performance and thermals, and OEM skins such as Samsung One UI or Xiaomi MIUI can differ from the emulated version. For release-critical validation, run the build on real Android devices, including a real device cloud.
KaneAI - Testing Assistant
World’s first AI-Native E2E testing agent.

TestMu AI forEnterprise
Get access to solutions built on Enterprise
grade security, privacy, & compliance