Prerequisites
Before you begin the Android Emulator setup, make sure you have the following installed on your development machine:
- Flutter SDK (latest stable release)
- Android Studio (latest stable release)
- Java Development Kit (JDK 11 or newer)
- At least 8 GB of RAM (16 GB recommended for smooth emulation)
Tip: Run flutter doctor in a terminal to verify that Flutter recognises Android Studio and the Android SDK.
Installing Android Studio
Download Android Studio from the official site and follow the installer prompts. During installation, ensure that the following components are selected:
- Android SDK
- Android SDK Platform‑Tools
- Android SDK Build‑Tools
- Intel HAXM (or Hyper‑V on Windows)
Creating an Android Virtual Device (AVD)
1. Open the AVD Manager
In Android Studio, navigate to Tools → AVD Manager. If you don’t see the menu, open the SDK Manager first and install the Android Emulator package.
2. Choose a Device Definition
Select a device that matches your target screen size. For most Flutter projects, a Pixel 5 or Pixel 4 XL works well.
3. Select a System Image
Pick a system image that includes Google Play services. The x86_64 images are faster because they can use hardware acceleration.
4. Configure AVD Settings
Give the AVD a descriptive name (e.g., flutter_pixel_5_api33) and adjust the following options:
- Graphics:
Hardware - GLES 2.0 - Memory: 2048 MB (or higher if you have RAM to spare)
- Boot option:
Cold bootfor a clean start each time
Configuring the Emulator for Flutter
Enable Hardware Acceleration
On Windows, install Intel HAXM. On macOS, the emulator uses the built‑in Hypervisor framework automatically.
Set Up a Flutter‑Ready Device
After creating the AVD, launch it from the AVD Manager. Once the emulator boots, run the following command to ensure Flutter can see it:
flutter devicesYou should see an entry similar to:
flutter_emulator • flutter_emulator • android-x86 • Android 13 (API 33) (emulator)Optional: Enable “Cold boot” on every launch
Cold booting avoids stale state that can confuse Flutter hot‑reload. In the AVD Manager, click the dropdown arrow next to the Play button and select Cold Boot Now.
Running Your First Flutter App
Create a new Flutter project (or open an existing one) and run it on the emulator:
flutter create hello_flutter
cd hello_flutter
flutter runThe default counter app will launch on the Android Emulator. Use r in the terminal to hot‑reload changes instantly.
Common Issues & Solutions
Emulator fails to start
- Ensure hardware acceleration is installed and enabled.
- Check that your BIOS has VT‑x/AMD‑V enabled.
Flutter cannot find the emulator
- Run
flutter doctor --android-licensesand accept all licenses. - Make sure
ANDROID_HOMEpoints to the SDK directory.
Performance is sluggish
- Increase the AVD memory allocation.
- Use an
x86_64system image instead ofarmeabi-v7a. - Close unnecessary background applications.
Remember: The Android Emulator setup is a one‑time task. Once you have a stable AVD, you can reuse it across all your Flutter projects.
Frequently Asked Questions
Why should I use an Android Emulator instead of a physical device for Flutter development?
An emulator provides a fast, reproducible environment that can be configured with different screen sizes, API levels, and hardware specs without needing multiple physical phones. It also integrates tightly with Android Studio, allowing you to launch, debug, and hot‑reload directly from the IDE.
Do I need to install the Android SDK separately?
No. When you install Android Studio and select the Android SDK component during setup, the SDK is installed automatically. The AVD Manager will also download the required system images for you.
How can I improve emulator performance on a low‑end laptop?
Use an <code>x86_64</code> system image, enable hardware acceleration (HAXM on Windows, Hypervisor on macOS), allocate at least 2 GB of RAM to the AVD, and disable unnecessary emulator features such as camera or GPS if you don’t need them.
What does the "Cold boot" option do and when should I use it?
Cold boot starts the emulator from a clean state, discarding any saved snapshot. This prevents stale caches that can interfere with Flutter hot‑reload or cause unexpected UI glitches. Use it when you encounter odd behaviour after multiple runs.
Can I run multiple Android Emulators simultaneously for Flutter testing?
Yes. Android Studio allows you to launch several AVDs at once, each with its own port. Just ensure your machine has enough RAM and CPU cores; otherwise, performance may degrade.