在终端中输入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_SDK_HOME是指向根目录的指针。该文件默认创建在“C:\Users\name\. android”目录下。android”,而不是你的SDK文件夹的根目录。然后: —将ANDROID_SDK_HOME分配到SDK根文件夹将无效。 -如果你的路”。“android”文件有非ascii字符,它将无法工作。 - AVD文件夹必须在您当前的”。android”文件。

所以答案是:

Change your SDK folder, if you need, like the previous answers (inside the project on Android Studio). Close Android Studio. Control Panel > System > Advanced System Settings > Environment Variables. Add a new User variable: Variable Name: ANDROID_SDK_HOME Variable Value: C:\src (or any folder that has not problems with non-ASCII characters or S.O. privileges) THE PATH THAT YOU WILL ENTER CANNOT BE ROOT FOLDER OF YOUR ANDROID SDK!!! Open Android Studio. Make sure a folder called ".android" was created in your new location. Delete the Android Virtual Device (AVD) that you created. Close and open Android Studio. Create a new AVD and see the magic happens.

欢呼。

其他回答

我的Windows10也有同样的问题, 通过以下步骤解决了我的问题。 开放Android Studio -工具 - SDK管理器 -复制Android SDK位置 Android SDK 设置系统环境变量 ANDROID_HOME和ANDROID_SDK_ROOT 系统环境变量

我用的是Windows 10,问题是我电脑中的avd目录中有非ascii字符。

下面是该怎么做:

以管理员身份运行cmd

执行如下命令:

mklink /D C:\\.android C:\\Users\\-yourUsername-\\.android

(这将在非ascii字符的路径和新路径之间创建一个符号链接)

在环境变量中添加值为C的ANDROID_AVD_HOME变量:\\.android\avd。

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

sudo apt-get install lib32stdc++6

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

我通过删除文件/usr/local/share/android-sdk解决了这个问题, 因为这个文件是我用自制软件创建的。

export ANDROID_HOME=/Users/<username>/Library/Android/sdk

export ANDROID_SDK_ROOT=/Users/<username>/Library/Android/sdk

export ANDROID_AVD_HOME=/Users/<username>/.android/avd

够了....

我在mac os上运行模拟器时也有类似的问题。经过大量的斗争,我发现我在.bash_profile中设置了错误的sdk路径。我安装了两次android,它导致了这个问题。我设法修复通过匹配ANDROID_SDK_ROOT路径在.bash_profile与sdk,我在android工作室内使用。