Download and install the Surface Duo 2 Android emulator
The Surface Duo emulator image (to use with the Android Emulator) can be used to develop and test your apps.
Set up the Surface Duo development environment
You should have your Android development environment set-up and up to date before you install the Surface Duo SDK. If you don't have Android Studio installed, download the latest version and command line tools from developer.android.com. You must include Google's Android emulator, which you install using the SDK manager in the Android Studio Tools menu. For new installs, the default options will do this automatically.
Surface Duo emulator prerequisites
Use the SDK manager to ensure all the required dev tools (Android SDK Build-Tools, Android SDK Platform-Tools, and Android Emulator) are up to date.
To get the full functionality of Surface Duo emulator, please install Android Emulator 30.0.26 or over.
Hardware virtualization is available for the Surface Duo emulator. Follow the guidelines outlined in emulator acceleration in the Android Studio docs to configure your system.
Microsoft Visual Studio/Xamarin
- Complete the installation prerequisites.
- Get the latest version of Visual Studio and ensure Xamarin is installed.
- Ensure the Android SDK is installed via these Visual Studio instructions.
- Review the hardware acceleration guide to get the best emulator performance.
Complete the installation prerequisites.
The KVM software package is required. Complete the steps at Configure VM acceleration on Linux to install KVM.
After installing KVM, ensure the current (logged in) user is added to the KVM group.
$ groups <current user> sudo plugdev kvm libvirt
If the current user is not in the KVM group, run the following command to add them.
sudo usermod -a -G kvm <current user>
Reboot the machine.
To install the emulator and SDK, run the following command. (If necessary, update the package name to match what you downloaded).
sudo dpkg -i SurfaceDuoSDKPreview_EmulatorOSImage_and_APIs_ubuntu_debian_2020.117.2.deb
The Android Studio installation instructions with default settings are all that is required. Be sure to perform updates if you already have Android Studio installed.
Download and install the Surface Duo emulator image
Download the Surface Duo emulator image from the Microsoft Download Center. The files are named "SurfaceDuoEmulator version". Select the right one for your development system.
Download Surface Duo SDK on the Microsoft Download Center.
Return to this page when you have downloaded the file.
Install and run the SDK and emulator
- Unzip the downloaded file, and launch the installer.
- After completing the SDK Setup, you can launch the Surface Duo Emulator via the start menu link.
- If the emulator does not start, you might need to update the pointer to your Android SDK installation.
Update the pointer to your Android SDK
If you changed the installation location of the Android SDK from the default, you will need to update the
run script to point to the correct installation location. Otherwise, the emulator will not run when you click the shortcut or run the script.
- Find the installation location of the Surface Duo Emulator. The default location is
- Open the
artifactsfolder inside of the installation folder.
- Make a backup copy of
run.bat- You can copy it to something like
- Open the file
run.batin a text editor.
- Verify the
ANDROID_SDK_LOCATIONpath value near the top of the file is correct.
rem ##### ENSURE THE SDK LOCATION BELOW IS CORRECT: ####### set ANDROID_SDK_LOCATION=C:\Program Files (x86)\Android\android-sdk
Read how to get started with the Surface Duo emulator, then start building and testing apps with your preferred development tools:
- Kotlin and Java developers can add the Surface Duo SDK to their projects to access dual-screen controls and helpers.
- Xamarin developers can add the Surface Duo SDK NuGets to their projects and follow these instructions for using the emulator with Visual Studio.
- React Native developers can add these modules.
- Unity developers can get started with a sample project.
- Flutter developers should start with these examples.
- Web developers can use Edge in the emulator, or build and test with desktop developer tools.