I’m not sure which update exactly broke it, but recently I got this when trying to launch the Android Emulator from the CLI:
$ emulator -list-avds
Nexus_5X_API_25
$ emulator -avd Nexus_5X_API_25
[140735953220544]:ERROR:./android/qt/qt_setup.cpp:28:Qt library not found at ../emulator/lib64/qt/lib
Could not launch '../emulator/qemu/darwin-x86_64/qemu-system-i386': No such file or directory
Apparently there’s some relative path linking happening, which of course fails when running the emulator
command from a project directory.
The fix is to run the emulator
command from the directory in which it resides. Some command combinations later, this is the result (with Nexus_5X_API_25
being the name of the created virtual device):
cd $(dirname $(which emulator)) && ./emulator -avd Nexus_5X_API_25
UPDATE 2017-11-28: As mentioned by Piotr in the comments below, another way to fix it, is to include the path of the emulator
binary in your $PATH
environment variable.
If installed correctly, you will most likely find some references to $ANDROID_HOME
in your .bash_profile
. Below that block, add this line to it:
export PATH="$ANDROID_HOME/emulator:$PATH"
Consider donating.
I don’t run ads on my blog nor do I do this for profit. A donation however would always put a smile on my face though. Thanks!
This bug should be fixed in the next update of the build tools: https://issuetracker.google.com/issues/37137213
👍👍
This but is still not fixed in the current latest version of the build tools as of 2017-07-31. However you can update the ./platforms/android/cordova/lib/emulator.js file by adding the ‘cwd’ option (Change Working Directory) with the path of the android emulator executable file. You can see the full answer on StackExchange here: https://stackoverflow.com/a/45407528/1167732
.bash_profile
ANDROID_HOME=/Users/you/Library/Android/sdk
PATH=$ANDROID_HOME/platform-tools:$PATH
PATH=$ANDROID_HOME/tools:$PATH
PATH=$ANDROID_HOME/tools/bin:$PATH
PATH=$ANDROID_HOME/emulator:$PATH
The last line solves this problem for me.
Hi Piotr,
Thanks for this suggestion. It indeed works. I have updated the post with the information you’ve provided here.
Regards,
Bramus.
Thanks @Piotr, this worked for me.
Preference>Appearances &behavior >system settings>Android SDK
You will find “SDK Tools” on the right .
Make sure the option–“Android Emulator” has been installed already, then choose it and Apply it.
Hi,
I’m on MacOs. My Android Emulator was working till today. I now have the same qt lib error as you.
I have added the line :
export PATH=”$ANDROID_HOME/emulator:$PATH”
to my .bash_profile.
It fixes this issue but I then have another issue:
emulator -avd Nexus_5X_API_23_2
createImpl: failed to create context (EGL_NO_CONTEXT result)
By chance, do you know this issue?
Thanks