The purpose of this section is to guide you to create in your development environment an Android emulator.
Android emulators are managed through a UI called AVD Manager
KO Player is an emulator software that allows Android apps run on Mac. This is basically an application to play Android games on your Mac. Android gamers and content creators can benefit largely from this software. You can control the game settings by swiping and tapping the controls as it maps keyboard and mouse commands. Jul 26, 2021 BlueStacks App Player is probably the most popular emulator for running Android apps on Mac. It is available for both Mac and Windows. It creates a virtual copy of Android OS apps on the guest OS. It uses the unique 'LayerCake' technology that allows you to run android apps on your PC without any external Virtual Desktop Application. 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. Nov 18, 2019 The Best Android Emulators for Mac OS X 1. Bluestack was going to be at the top of our list since it is the most common software being used to emulate the Android system on the Mac. Since it is a multi-platform software, it can be projected on to the Windows as well as the Mac operating systems.
AVD Manager has a nice interface when started from Android Studio.
Start Android Studio app, then create a blank project.
Go to the Tools menu -> :Android -> AVD Manager:
If no emulator has been created you should start with this screen:
Click the Create Virtual Device button.
In the Select Hardware window , select Nexus 5 as shown in the following snapshot:
Click the Next button.
In the System Image, select the system image Nougat, API Level 25 , ABI x86 :
Click on the download link to download the selected System Image. This download process is done through SDK Manager.
Once the download is complete, click on the Next button.
In the Verify Configuration window, check any parameter :
Then click on the Finish button.
AVD Manager shows you the newly created device:
Click on the launch button to launch the newly created AVD in the emulator.
Notice in the Run Window of Android Studio the command line used to start the device:
which can be shortened to :
Stop the emulator started by Android Studio. Open the Terminal app and type the following command:
This should start the emulator with the selected AVD.
The Android Emulator, unfortunately, doesn’t work in CircleCI’s conventional (Docker-based) Android build environment. With a little tinkering, though, we can make it work in another environment!
Since CircleCI 2.0, the recommended build environment for most projects is the Docker Executor. Overall, it’s great: Docker images are fast, portable, and cacheable. Chances are you can start with a prebuilt one.
One of the jobs in our current workflow boots up the circleci/android:api-29-node
image in about four seconds with all the build tools we need. For building and publishing, this is fantastic.
Unfortunately, when you begin configuring your tests, you’ll soon realize that this environment can’t run the Emulator.
To achieve reasonable performance, the Android Emulator needshardware acceleration, which depends on supporting capabilities from the processor and operating system. We can use the Emulator’s -accel-check
flag to interrogate a system’s compatibility. Here’s what it says in a CircleCI Docker environment:
(That means “no.”)
But wait! Docker is but one of several executors available on CircleCI. What if we use a conventional Linux VM instead of Docker? (This is called the machine executor).
That doesn’t work either. Bummer.
At this point, you might heed CircleCI’s advice and pursue a third-party service like Firebase Test Lab or AWS Device Farm, but I wasn’t ready to give up yet.
We were already using CircleCI’s MacOS support to build and test our React Native app for iOS. I had one last wacky idea to try: could we run the Android Emulator on MacOS?
It works!
Without the convenience of an externally-maintained Docker image, it’s on you to install the Android tools. If you want to try Android testing on MacOS, hopefully our configuration can save you some time:
And here’s install-android-tools.sh
:
It’s unorthodox, but this approach has worked reasonably well so far for our small React Native project. One set of Appium tests can run against both iOS and Android, and they run the same way in CircleCI that they do locally.
I’d be interested to hear about your experiences with Android UI tests in CircleCI, whether via a third-party service, a CI host that supports the Emulator, or another approach altogether.