Just fixed it. Hope this helps others. (Problem, as in Android v2 studio) This problem is intended for hand emulators. In this example, I am using armeabi-v7a 16 API
The fix consists of three steps:
Step 1: Open sdk manager and make sure you have installed ARM EABI v7a System Image
Step 2. This is an obvious case of adding the sdk location to system variables.
Right-click the โThis PCโ icon on your desktop, then
Properties -> Advanced system settings -> Environment Variables... Then add the sdk path as new to the system variables section using the ANDROID_SDK_ROOT variable ANDROID_SDK_ROOT .
Step 3. Restart Android Studio to make case-sensitive changes. After fixing the ANDROID_SDK_ROOT problem is undefined, the emulator still cannot find the kernel files, even if it sees that the sdk manager installed it on
path-to-sdk\sdk\system-images\android-16\default\armeabi-v7a\kernel-qemu
The reason is the confusion between the location where the sdk manager installs the kernel file and the location that the emulator is looking for.
If you open your config.ini (Android Studio โ AVD Mananger โ "Show on Disk") for your emulator, you will see the following line:
image.sysdir.1=add-ons\addon-google_apis-google-16\images\armeabi-v7a\
(ie \ path-to-sdk \ add-ons \ addon -....)
Instead of changing this value in the config.ini file, I copied
path-to-sdk\sdk\system-images\android-16\default\armeabi-v7a\kernel-qemu
(the kernel file from the sdk manager folder is installed)
to
\path-to-sdk\add-ons\addon-google_apis-google-16\images\armeabi-v7a\
And that was the missing kernel file. You can run the emulator. (You will need to close Android Studio and reopen it again). Give the emulator some time, as it is 10 times smaller compared to x86. (Mine took about 5 minutes to start)