gbenga ogunbule
gbenga ogunbule

Reputation: 599

React native failed to launch emulator

While trying to test the android app am creating with React native, I run into this error

info Launching emulator...
error Failed to launch emulator. Reason: No emulators found as an output of `emulator -list-avds`.
warn Please launch an emulator manually or connect a device. Otherwise app may fail to launch.

I have the emulator(the AMD version) installed in the android studio.

How can I solve this problem

Upvotes: 20

Views: 54936

Answers (4)

akaigyouhou
akaigyouhou

Reputation: 1

My answer is, If you have changed the directory of avds, you should set ANDROID_SDK_HOME environment variable to the parent directory of .android.

Here is the detail:
It seems like when you run "emulator -list-avds" in cmd, the result is empty. (be sure to first add "ANDROID_HOME" with value of your sdk directory to your user environment variable, and "%ANDROID_HOME%\emulator" in the Path too.)

After checking the official documents:
https://developer.android.com/studio/run/emulator-commandline#starting
It said:
"$ emulator -list-avds

When you use this option, it displays a list of AVD names from your Android home directory. Note that you can override the default home directory by setting the ANDROID_SDK_HOME environment variable: the root of the user-specific directory where all configuration and AVD content is stored. You could set the environment variable in the terminal window before launching a virtual device, or you could set it through your user settings in the operating system."

and in another page:
https://developer.android.com/studio/command-line/variables#envar
it said:
"Some older tools, such as Android Studio 4.3 and below, do not read ANDROID_USER_HOME. To override the user preferences location for those older tools set ANDROID_SDK_HOME to the parent directory you would like the .android directory to be created under."

So I guess the reason is "npx react-native run-android" will invoke "emulator -list-avds" to find the emulator. And "emulator" is really an older tools, so ANDROID_SDK_HOME environment variable is necessay.

And if all goes well, you really don't need to run android studio before run "npx reactive-native run-android".

Upvotes: -2

hanish basheer
hanish basheer

Reputation: 21

This also may be there is not enough space to run avd, make sure enoug space in hard disk. in my case freed atlest 9gb.

Upvotes: 0

Anas M.I
Anas M.I

Reputation: 582

You can run the command adb devices to check if there is any device attached. It should list atleast one device for it to work

Upvotes: 3

Akila Devinda
Akila Devinda

Reputation: 5502

In your scenario before running react native application you need to create emulator using Android Studio. You can view official documentation about running application on device by here

Before running your project make sure you have installed adb drivers - More

First of all create AVD using Android Studio.

Open your project android folder using Android Studio.

1. Click AVD Manager from Android Studio
enter image description here 2. Click Create Virtual Device enter image description here 3. Select your device from device list and click Next enter image description here 4. Select the android os version from the available version list and click Next enter image description here 5. On last keep default settings on device and click Finish enter image description here

After that you can see your available android emulator device list from AVD Manager window.

* Before run your react native application make sure you have turn on and run the android emulator from android studio

enter image description here

After that run your project using react-native run-android

Upvotes: 9

Related Questions