在终端中输入cordova运行android后,我得到了这个错误:
Waiting for emulator to start...
PANIC: Broken AVD system path. Check your ANDROID_SDK_ROOT value [/Users/username/Library/Android/sdk]!
这发生在导出之后:
export ANDROID_SDK_ROOT='/Users/username/Library/Android/sdk'
在导出之前,我得到:
Waiting for emulator to start...
PANIC: Cannot find AVD system path. Please define ANDROID_SDK_ROOT
你知道我哪里错了吗?我确定这是sdk根,所以为什么我得到破碎的avd系统路径?
NativeScript
对于任何通过NativeScript启动android模拟器遇到麻烦的人来说,它可能是env vars ANDROID_HOME和ANDROID_SDK_ROOT已被覆盖。
我是如何给自己制造一个问题的,那就是安装Android Studio来生成一个不同的模拟器。我这样做是在我已经通过home brew安装了android sdk之后。
因此,如果在NativeScript安装期间,您选择通过HomeBrew安装android sdk, NativeScript将设置如下:
ANDROID_HOME=/usr/local/share/android-sdk
ANDROID_SDK_ROOT=/usr/local/share/android-sdk
随后安装Android Studio将覆盖这些值:
ANDROID_HOME=/Users/[User]/Library/Android/sdk
ANDROID_SDK_ROOT=/Users/[User]/Library/Android/sdk
因此,Android studio和Android sdk的NativeScript/Brew安装自然存在冲突。删除其中一个和/或验证env变量包含正确的路径应该会让模拟器启动。
我在Windows 10上就遇到过这个问题。
我尝试了几种解决办法,但没有一个奏效。
以下是我解决问题的方法:
Uninstalled Android Studio, SDK, .android and .AndroidStudio folders in %USERPROFILE%, Android folder in %LOCALAPPDATA%.
Uninstalled Java.
Downloaded latest Java JDK:https://www.oracle.com/technetwork/java/javase/downloads/jdk13-downloads-5672538.html
and set PATH Environment Variable:
https://docs.oracle.com/en/java/javase/11/install/installation-jdk-microsoft-windows-platforms.html#GUID-96EB3876-8C7A-4A25-9F3A-A2983FEC016A
I created new Windows 10 local user using LATIN CHARACTERS with admin priviledges.
Switched to the new user and installed Android Studio.
When the setup wizard was shown, I selected Custom option and checked Android emulator to be installed. I left all location folders as DEFAULT.
现在我的新用户帐户一切正常。