Yesterday the emulator was working perfectly. The system image was arm64-v8a. I don’t exactly remember the Release name of the working system image but, yesterday there was an update for the ARM 64 system image which I accepted and the release name is “S”.
I can start the emulator from my AVD Manager, the emulator also starts when I press the ‘Run app’ button however, the app isn’t loaded on the emulator and the emulator appears offline if I check through “adb devices” or if I click on “Troubleshoot Device connections” it shows:
Any you know what, unlike Android Studio (which is still Intel based compiled), the M1 Emulator is Apple M1 Device compatible!! No wonder it works so fast! The latest Canary build of Android Studio (15 as of writing this) brings initial native support for M1 Macs. There are still a lot of things missing, but the basics work. You can build and run JVM.
“emulator-5554 – Device is currently in the offline state”
- Aug 19, 2021 Step 1 → Download Android Studio and choose correct version for Mac M1 chip. Step 2 → Install Android Studio and create emulator (if it’s created by default don’t use that one. I created manually) Now run your emualtor from AVD Manager because in my case it was not showing emulator option.
- Apr 14, 2021 Any you know what, unlike Android Studio (which is still Intel based compiled), the M1 Emulator is Apple M1 Device compatible!! No wonder it works so fast!
I have tried most of the suggestions found on StackOverflow like:
adb kill-server, adb start-server
Remove and re-create AVD device
Invalidate Caches/Restart
Enable USB debugging inside the emulator
Wipe data and cold boot from AVD manager
I am using Android Studio 4.1.3
Build #AI-201.8743.12.41.7199119, built on March 10, 2021Runtime version: 1.8.0_242-release-1644-b3-6915495 x86_64VM: OpenJDK 64-Bit Server VM by JetBrains s.r.omacOS 10.16GC: ParNew, ConcurrentMarkSweepMemory: 1981MCores: 8Registry: ide.new.welcome.screen.force=true, external.system.auto.import.disabled=trueNon-Bundled Plugins: org.jetbrains.kotlin
AVD:
Any idea what has gone wrong? Or how to tackle this issue?
Answer
Replace the avd system images you have downloaded with the r02 images. r03 is broken for me but reverting to r02 saved the day!
With the latest android (4.1.3) on macOS, the directory you want to put the unzipped images in is probably something like ~/Library/Android/sdk/system-images/android-S
.
For example, the path for the google play image is ~/Library/Android/sdk/system-images/android-S/google_apis_playstore/arm64-v8a
This is the second post that I dedicate to talk about configurations using the new M1 Apple processor. As I said in the previous post, these configurations are workarounds until stable versions are released, however, for me, they have been useful and I guess that someone in the same situation as me can benefit from that.
Using Android studio in the new Macbook Air
When you install Android Studio you will get the following warning:
Unable to install Intel® HAXM
Your CPU does not support VT-x.
Unfortunately, your computer does not support hardware-accelerated virtualization.
Here are some of your options:
1 - Use a physical device for testing
2 - Develop on a Windows/OSX computer with an Intel processor that supports VT-x and NX
3 - Develop on a Linux computer that supports VT-x or SVM
4 - Use an Android Virtual Device based on an ARM system image
(This is 10x slower than hardware-accelerated virtualization)
Creating Android virtual device
Android virtual device Pixel_3a_API_30_x86 was successfully created
Apple M1 Android Emulator
And also in the Android virtual device (AVD) screen you will read the following warning:
If you want to learn more regarding virtualization in processors you can read the following Wikipedia article, the thing is that our M1 processor doesn’t support VT-x, however, we have options to run an Android Virtual Device.
M1 Macbook Android Emulator Download
As the previous message was telling us, we have 4 options. The easiest way to proceed is to use a physical device, but what if you haven’t one available at the moment you are developing?
From now on, we will go with the option of using an Android virtual device based on an ARM system image as options 2 and 3 are not possible to execute.
Using the virtual emulator
The only thing that you have to do is to download the last available emulator for Apple silicon processors from Github https://github.com/741g/android-emulator-m1-preview/releases/tag/0.2
Once you have downloaded you have to right-click to the .dmg file and click open to skip the developer verification.
After installing the virtual emulator, we have to open it from the Applications menu.
After opening it you will see Virtual emulator
in Android Studio available to deploy your Android application. Make sure to have Project tools available in Android Studio (View -> Tool Windows -> Project)
After pressing the launch button you will get your Android application running in your ARM virtual emulator :-)
Conclusion
In this post, we have seen that is possible to install Android Studio in Macbook Air M1 and use a virtual device even that your M1 doesn’t support VT-x. You can learn more about this emulator in the following references: