Reputation: 599
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
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
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
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
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
2. Click Create Virtual Device
3. Select your device from device list and click Next
4. Select the android os version from the available version list and click Next
5. On last keep default settings on device and click Finish
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
After that run your project using react-native run-android
Upvotes: 9