Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android emulators are not working on macOS Big Sur 11.3+

I have upgraded the mac OS to Big Sur and none of the emulators are working. It seems that all Android emulators Fails on Mac OS Big Sur Beta. I deleted the old emulators and created new ones with different HW/SW, unsuccessfully. Introduced the following issues in the android emulator.

  1. ffffffffb69b4dbb: unhandled exit 1d
  2. Emulator Engine Failed
  3. adb Device Offline

https://issuetracker.google.com/issues/165038831

Does anyone have a solution?

EDIT 27.04.2021

~/Library/Android/sdk/emulator/emulator -gpu host -read-only -feature HVF -avd Pixel_4_API_29
emulator: Android emulator version 30.5.5.0 (build_id 7285888) (CL:N/A)
handleCpuAcceleration: feature check for hvf
cannot add library /Users/dunatv/Library/Android/sdk/emulator/qemu/darwin-x86_64/lib64/vulkan/libvulkan.dylib: failed
added library /Users/dunatv/Library/Android/sdk/emulator/lib64/vulkan/libvulkan.dylib
cannot add library /Users/dunatv/Library/Android/sdk/emulator/qemu/darwin-x86_64/lib64/vulkan/libMoltenVK.dylib: failed
HVF error: HV_ERROR
qemu-system-x86_64: failed to initialize HVF: Invalid argument
HAX is working and emulator runs in fast virt mode.
qemu-system-x86_64: Back to HAX accelerator
added library /Users/dunatv/Library/Android/sdk/emulator/lib64/vulkan/libMoltenVK.dylib
emulator: INFO: GrpcServices.cpp:301: Started GRPC server at 127.0.0.1:8554, security: Local

UPDATE: 11 Aug 2021

Currently the Emulators and Arctic Fox are working. Tested on Big Sur 11.5.1

like image 672
Duna Avatar asked Aug 25 '20 09:08

Duna


People also ask

Why is my Android emulator not working?

If the Android Emulator does not start properly, this problem is often caused by problems with HAXM. HAXM issues are often the result of conflicts with other virtualization technologies, incorrect settings, or an out-of-date HAXM driver. Try reinstalling the HAXM driver, using the steps detailed in Installing HAXM.

Do Android emulators work on Mac?

Bluestacks is one of the most popular Android emulators for Windows and is probably the best Android emulator for macOS as well. This emulator is built primarily for mobile gamers and claims to provide a “PC-like” gaming experience for your mobile apps.

Does bluestacks work on MacOS Big Sur?

Fortunately, thanks to the team's tireless efforts at providing the best possible service, the latest version of BlueStacks is fully compatible with MacOS 11 Big Sur, allowing you to, once again, install and play your favorite Android games on your Mac.

Can Macbook M1 run Android studio?

Android Studio is not M1 Optimized Yet The Software that runs on M1 Chip is no longer Intel Chip, and hence need to be M1 Optimized first.

Is there an Android emulator for Big Sur?

Yuck Bluestacks. Such a spyware that randomly installs sponsored apps on the VM. Went to genymotion and never looked back. Blows BS out of the water in speed too. Doed Genny work in 11.x? AFAIK there are no Android Emulator that is working on Big Sur at the moment. I was trying to install Big Sur and notice the Kext warning.

How to fix Android emulator not responding?

Update: this should now be fixed by version 30.5.6 of the Android emulator in the stable channel. However, if you are now experiencing issues after updating to the latest version of the Android Emulator you can fix this by removing and then adding back the Android Emulator from the SDK Manager. Uncheck Android Emulator and hit apply.

Does BlueStacks work on macOS 11 Big Sur?

Attention Mac Users! BlueStacks Version 4.240.5 Now Works on macOS 11 Big Sur Attention Mac Users! BlueStacks Version 4.240.5 Now Works on macOS 11 Big Sur

What is the best Android emulator for M1 Mac?

If you are a mobile gamer and looking for an Android emulator just for gaming on your M1 Mac then Nox App Player is easily one of the best options for you. It is a lightweight and very smooth app, that is specially designed for gaming. The user interface is quite effortless so anyone can install it on their M1 MacBook.


3 Answers

Update: this should now be fixed by version 30.5.6 of the Android emulator in the stable channel.

However, if you are now experiencing issues after updating to the latest version of the Android Emulator you can fix this by removing and then adding back the Android Emulator from the SDK Manager.

Tools > SDK Manager > SDK Tools
Uncheck Android Emulator and hit apply.
Check Android Emulator and hit apply.


Original answer:

This worked for me https://www.arthurkoziel.com/qemu-on-macos-big-sur

Essentially, create an XML file called entitlements.xml with the following contents:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>com.apple.security.hypervisor</key>
    <true/>
</dict>
</plist>

Copy the XML file to ~/Library/Android/sdk/emulator/qemu/darwin-x86_64

Then run the following commands in terminal:

codesign -s - --entitlements entitlements.xml --force qemu-system-aarch64
codesign -s - --entitlements entitlements.xml --force qemu-system-aarch64-headless 
codesign -s - --entitlements entitlements.xml --force qemu-system-armel
codesign -s - --entitlements entitlements.xml --force qemu-system-armel-headless 
codesign -s - --entitlements entitlements.xml --force qemu-system-i386
codesign -s - --entitlements entitlements.xml --force qemu-system-i386-headless 
codesign -s - --entitlements entitlements.xml --force qemu-system-x86_64
codesign -s - --entitlements entitlements.xml --force qemu-system-x86_64-headless 
like image 82
Markymark Avatar answered Oct 24 '22 06:10

Markymark


Update, 10-1-2020

The Android Emulator team has pushed 30.1.5 which fixes this issue in stable. The dev build, 30.2.0 does not contain this fix. It should be available "soon" according to the Googler's working on this.

Another note, if you experience poor performance in your emulator you may wish to try using the host's GPU for rendering. This can be accomplished by running the following command in your terminal where -avd is the name of your emulator device with spaces turned to underscores.

~/Library/Android/sdk/emulator/emulator -gpu host -feature HVF -avd pixel_3a_api_29

Old information, kept for educational value:

This is the reference to the commit fixing this issue for Big Sur. This looks like it should be released in the emulator 30.1.5 (see log https://android.googlesource.com/platform/external/qemu/+log/refs/heads/emu-30-release) which should be in the next canary build.

If you can't wait, you should be able to build off that branch. Lightly tested guide heavily pulling from the readme of the repo:

# Get the google repo tool - you can skip if you already have it
curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > /usr/local/bin/repo && chmod +x /usr/local/bin/repo

# Get the code, will take some time. Probably best to go get a coffee here or run on a server if you have poor internet
mkdir -p $HOME/emu-master-dev && cd $HOME/emu-master-dev
repo init -u https://android.googlesource.com/platform/manifest -b emu-master-dev
repo sync -j8

# Get XCode 10.1 - required
https://download.developer.apple.com/Developer_Tools/Xcode_10.1/Xcode_10.1.xip
sudo xcodebuild -license accept &&
sudo xcode-select --install

# Get MacOS 10.13 SDK which is required
export XCODE_PATH=$(xcode-select -print-path 2>/dev/null)
git clone https://github.com/phracker/MacOSX-SDKs
cp -r MacOSX-SDKs/MacOSX10.13.sdk/ "$XCODE_PATH/Platforms/MacOSX.platform/Developer/SDKs"

# Build the emulator, which will be another coffee break...
cd external/qemu && android/rebuild.sh

# run it :)
./objs/emulator -list-avds
like image 19
Simon Sickle Avatar answered Oct 24 '22 08:10

Simon Sickle


Steps to fix the issue:

1.Open Terminal and go to the directory /Users/<username>/Library/Android/sdk/emulator/qemu/darwin-x86_64/

2.Create an xml file named entitlements.xml with touch or cat commands

3.Add this content to the entitlements.xml file:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>com.apple.security.hypervisor</key>
    <true/>
  </dict>
</plist>

4.Then simply sign the qemu-system-x86_64 with it:

codesign -s - --entitlements entitlements.xml --force qemu-system-x86_64

5.Now simply restart Android Studio and the Android Emulator should work again!

like image 14
Burak Demirezen Avatar answered Oct 24 '22 06:10

Burak Demirezen