在终端中输入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系统路径?


当前回答

你所需要做的就是为android 11安装所需的模拟器示例平台

sdkmanager --install "platforms;android-30"

在你这样做之后,你的模拟器将开始正常工作。

其他回答

如果你仍然需要一个答案,那么在我的情况下,它在(重新)下载Android图像后工作,但直接从Android Studio,而不是通过Visual Studio按钮。

在我的情况下,它被打破了,因为ANDROID_HOME和ANDROID_SDK_ROOT是不同的,所以一旦我设置ANDROID_HOME与ANDROID_SDK_ROOT相同,它就开始工作了。

我也有同样的问题。我删除了。android/avd文件夹中的图像模拟器,在我安装lib32stdc++6后:

sudo apt-get install lib32stdc++6

所以,它起作用了!魔法吗?

好的,我可以从cordova运行android,我把ANDROID_HOME改为,

export ANDROID_HOME=/usr/local/opt/android-sdk

奥列格·切尔的回答让我找到了解决办法。正如他提到的

去/。Android /avd/打开config.ini。找到>image.sysdir。1房地产。它指向SDK中包含系统>图像的目录。确保该目录存在并包含build等文件。道具>系统。img等等。如果它没有,那么你必须打开SDK管理器和>下载系统图像你的AVD需要(见下文)。

我在avd目录中找到了相应的模拟器*.ini文件。 在那里,我修改了“image.sysdir”。1”条目。我将相对路径替换为绝对路径(在前面附加ANDROID_SDK_ROOT)。在此之后,模拟器如预期的那样从命令行启动。