I just updated my Android Studio to 3.5.3 and installed Gradle 4.10.3 for my Ionic project.
I added this to my PATH variable:
# Add the Android SDK Path
export ANDROID_SDK_ROOT=$HOME/Library/Android/sdk
# emulator
export PATH=$PATH:$ANDROID_SDK_ROOT/emulator
# avdmanager, sdkmanager
export PATH=$PATH:$ANDROID_SDK_ROOT/tools
# adb, logcat
export PATH=$PATH:$ANDROID_SDK_ROOT/platform-tools
And if I run ${ANDROID_SDK_ROOT}/emulator/emulator -version
I see this: Android emulator version 29.3.4.0 (build_id 6110076) (CL:N/A)
I have one avd installed on my machine and I get it to run by running either of these commands:
${ANDROID_SDK_ROOT}/tools/emulator -avd Pixel_2_XL_API_27
${ANDROID_SDK_ROOT}/emulator/emulator -avd Pixel_2_XL_API_27
It appears that Android gave some priority to the emulator
binary recently. However, when I run which emulator
from the CLI, it returns:
/Users/[username]/Library/Android/sdk/tools/emulator
When it should be returning:
/Users/[username]/Library/Android/sdk/emulator/emulator
I am not sure what I have done incorrectly in my config, but I am unable to run an Android emulator from my Ionic project, as I am always greeted with this error:
PANIC: Missing emulator engine program for 'x86' CPU.
Any thoughts on what I should look at some that I can ensure that I am able to run the emulator from my project?
EDITS
I think this may have something to do with my $PATH
variable. When I echo $PATH
, this is what is returned:
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/[username]/Library/Android/sdk/platform-tools:/Users/[username]/Library/Android/sdk/tools:/Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/bin:/Users/[username]/Library/Android/sdk/emulator:/Users/[username]/Library/Android/sdk/tools/bin:/Users/[username]/Library/Android/sdk/platform-tools:/Applications/Android Studio.app/Contents/gradle/gradle-4.10.3/bin
However, this is my entire $HOME/.bash_profile
:
# Create a JAVA_HOME variable, determined dynamically
export JAVA_HOME=$(/usr/libexec/java_home)
# Add that to the global PATH variable
export PATH=$PATH:$JAVA_HOME/bin
# Add the Android SDK Path
export ANDROID_SDK_ROOT=$HOME/Library/Android/sdk
# emulator
export PATH=$PATH:$ANDROID_SDK_ROOT/emulator
# avdmanager, sdkmanager
export PATH=$PATH:$ANDROID_SDK_ROOT/tools/bin
# adb, logcat
export PATH=$PATH:$ANDROID_SDK_ROOT/platform-tools
#Set GRADLE_HOME
export GRADLE_HOME=/Applications/Android\ Studio.app/Contents/gradle/gradle-4.10.3
export PATH=$PATH:$GRADLE_HOME/bin
Where would the /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/[username]/Library/Android/sdk/platform-tools:/Users/[username]/Library/Android/sdk/tools in the $PATH
variable be coming from?