If you've been looking for a way to develop your Xamarin Android apps in a Parallels Desktop Windows VM, but run the app in an Android emulator on your Mac, this post is an attempt to distill the information from across multiple sites to get you started.
The advantage of emulators: easy to share data and document between your desktop OS and the emulated Android OS. Other advantage is that they have often added functionalities to emulate perfectly a phone, like a fake phone number, the ability to shake, macros with keys.
Verdict: BlueStacks is one of the best Android emulators for Windows 10 and macOS as it supports up to 97% of the offered applications from Google Play Store. It perfectly simulates an Android Operating System with free to download basic options. You may manage the emulator using input devices as well as the touch screen. Sep 23, 2021 Android Emulators for Mac Google Android is the nearly good-known working framework on the planet. By far near Android clients are on smartphones, alongside the vast bulk of the remainder of tablets, however a pocket-sized specialty has chosen for or so explanation that they require to run this flexible OS on their estimator, as well as this. XePlayer is a best & free Android Emulator for pc that enables all Android games and apps to run smoothly in Windows systems. It built on x86 Architecture, support advanced features like OpenGL & hardware acceleration, run faster, more stability and compatibility than other Android Emulators. Aug 23, 2021 Phoenix OS can play APK apps and emulate Android. Phoenix OS 3.6.1.564 on 32-bit and 64-bit PCs. This download is licensed as freeware for the Windows (32-bit and 64-bit) operating system on a laptop or desktop PC from console emulators without restrictions. Phoenix OS 3.6.1.564 is available to all software users as a free download for Windows.
Many thanks to James Montemagno for pointing me to Paul Batum's post on the Xamarin forum.
My Configuration
- Intel MBP running OS X Mavericks
- Parallels Desktop running a Windows 8 VM
Set up your Mac
1. Download & Install the Android SDK
Nothing can get done until the Android SDK is installed, so let's start there.
Install the Android SDK
You should end up with an SDK directory somewhere on your Mac with subdirectories like: extras, platform tools, tools, etc.
Yeah? -- Okay. Next.
2. Install the Intel HAXM
Intel HAXM - What?
Intel Hardware Accelerated Execution Manager. In short, it speeds up Android app emulation on Intel host machines. This step is necessary if you plan on creating custom AVDs that leverage the much faster Intel x86 images.
Os X Android Emulator Free
Install the Intel OS X HAXM Zip
Do you use OS X Mavericks + Parallels Desktop 9 ?
Install the OS X 10.9 HAXM Hotfix
If you don't do this, when you launch an Intel x86 emulator image, your entire computer will freeze up forcing you to perform a hard reboot. No one wants that.
3. Configure your Mac for SSH sharing
In OS X Go To:
System Preferences > Sharing > Enable Remote Login
Leave the other options set to their defaults.
4. Start the Android emulator
Several AVDs came pre-configured when you installed the Android SDK. For the sake of this tutorial, we'll use one of those devices which use ARM images. To view the configured devices, start the AVD Manager:
Open a command line
Navigate to the tools directory of your Android SDK: yourandroidsdkdirectory/tools
Enter the following command:
./android avd
The AVD Manager will open
Start an Android device:
- select a device with a green check
- press Start...
- the Launch Options dialog will appear. Press Launch
Earlier, we installed HAXM which allows the use of the Intel x86 images which run much faster than their ARM counterparts. If you'd like to try those out: open the SDK Manager, download the x86 images, then configure devices in the AVD Manager to use the x86 images instead of the ARM images.
Open a command line
Navigate to the tools directory of your Android SDK: yourandroidsdkdirectory/tools
Enter the following command:
./android
download the x86 images
edit a device in the AVD Manager to use an x86 image instead of an ARM image
5. Kill the ADB Server
Open a command line
Navigate to the platform-tools directory of your Android SDK: yourandroidsdkdirectory/platform-tools
Enter the following command:
./adb kill-server
Okay! -- Your Mac is ready.
Set up you Windows VM
Ld Player
1. Start your Windows VM in Parallels Desktop
2. Download and install PuTTY SSH Client
Install the PuTTY SSH Client
3. Create a new connection to your Mac
Let's connect to the Mac.
- Start PuTTY SSH Client
- Select Session from the Category panel on the left
- In the Host Name (or IP Address) field, enter the IP Address of you Mac (found at: System Preferences > Sharing)
- Leave the Port set to its default (should be 22)
- Make sure SSH is selected under Protocol
4. Configure port forwarding
Select Connection > SSH > Tunnels from the Category panel on the left side of the PuTTY SSH Client. From here add two forwarding configurations.
First
- Source Port: 5555
- Destination: localhost:5555
Second
Os X Android Emulator Online
Source Port: 5554
Destination: localhost:5554
Click on Open
You will be presented with a command line console. When prompted, enter your Mac admin username and password to open a connection from your Windows VM to OS X.
5. Kill then Start the ADB Server
Open a command line
Navigate to the platform-tools directory of your Android SDK: yourandroidsdkdirectory/platform-tools
Enter the following command:
adb.exe kill-server
Then enter the following command:
adb.exe start-server
Confirm that your Mac emulator device has been picked up by entering the following command:
adb.exe devices
You should see a device listed something like: emulator-5554
6. Open a Xamarin Android project
Now for the big test!
Launch your Xamarin IDE of choice and open a Xamarin Android project. Once the project initializes, you should see your already running Mac emulator listed in the device dropdown.
And that's it! -- You can debug all day long from Parallels over to your Mac.
The Bonus Round - Genymotion Emulator
The AVD emulator that comes with the Android SDK is fine, but it could be better. Enter Genymotion.
The Genymotion emulator is noticably faster, but it requires some baggage: VirtualBox - which doesn't play well with Parallels Desktop 9 out of the box.
[Detailed tutorial coming soon]