如何在mac中设置ANDROID_SDK_ROOT?

时间:2016-10-25 19:36:13

标签: android cordova android-emulator

我正在尝试使用cordova进行应用程序开发,现在我专注于android,我想运行这个命令cordova emulate android。它运行了一个找到的这个数据包的长列表,并给出了构建成功的消息,但最后它说PANIC: Cannot find AVD system path. Please define ANDROID_SDK_ROOT(另外,我使用Homebrew)

以下是命令行中的脚本。

建立成功

总时间:1.345秒 建立以下apk:

/users/mayurtolani/myMobileApp/platforms/android/build/outputs/apk/android-debug.apk

ANDROID_HOME =的/ usr /本地/地窖/ Android的SDK / 24.4.1_1

JAVA_HOME = /库/爪哇/ JavaVirtualMachines / jdk1.8.0_101.jdk /内容/首页

未指定模拟器,默认为Nexus_5_API_24

等待模拟器启动...

PANIC:找不到AVD系统路径。请定义ANDROID_SDK_ROOT

6 个答案:

答案 0 :(得分:15)

vim ~/.bash_profile

然后添加以下环境变量:

export ANDROID_HOME=/Users/{{your user}}/Library/Android/sdk
export ANDROID_SDK_ROOT=/Users/{{your user}}/Library/Android/sdk
export ANDROID_AVD_HOME=/Users/{{your user}}/.android/avd

Android路径可能会有所不同,如果是这样,请相应更改。最后,刷新终端以应用更改:

source ~/.bash_profile

答案 1 :(得分:5)

由于您使用了Homebrew,您可以将其添加到您的路径中:

export ANDROID_SDK_ROOT=/usr/local/share/android-sdk

希望我帮忙! :d

答案 2 :(得分:1)

我遇到了类似的问题。我已经下载了Android SDK以及Android studio,因此有两条Android Home路径。要运行模拟器并删除Android sdk root的错误,请使用以下步骤。 1.设置Android Studio下载的android sdk的路径。 2.如果您已经在sdk文件夹中下载了SDK,请将它们复制到Android studio生成的文件夹中。的 /库/的Android / SDK 3.设置bash配置文件并添加路径,如下所示。

导出ANDROID_HOME = / Users / {您的电脑名称} / Library / Android / sdk export ANDROID_SDK_ROOT = $ ANDROID_HOME

答案 3 :(得分:1)

ANDROID_HOME也是必需的,它应该与ANDROID_SDK_ROOT相同。 仅供参考:更改Android Studio后,您需要重新启动.bash_profile

答案 4 :(得分:0)

今天我对离子骨架有同样的问题。首先,我检查了Android Studio中的AVD管理器(工具 - > Android),所有设备都运行,它是一台没有api版本的设备。所以我改变并测试了设备。然后我再次运行离子模拟并且工作正常。此外,您可以使用--target = Device_Name来运行特定设备。

答案 5 :(得分:0)

在我的OSX终端中,我通过手动添加我可以在" AVD名称"下读取的虚拟设备的名称来避免此错误。来自AVD经理。

SELECT NAME1.FIELD1
, NAME1.FIELD2
, NAME3.FIELD3
, NAME4.FIELD4
, @pl2 := IF( @pl1 = NAME1.FIELD1, @pl2, 1) AS pl2
, @pl1 := NAME1.FIELD1
FROM FIELD5 AS NAME1
CROSS JOIN (SELECT  @pl1 := NULL, @pl2 := 0) R
INNER JOIN DB1.FIELD6 AS NAME2 ON NAME1.FIELD9 = NAME2.FIELD9
LEFT JOIN DB1.FIELD7 AS NAME3 ON NAME3.FIELD10 = NAME2.FIELD10
LEFT JOIN DB1.FIELD8 AS NAME4 ON NAME4.FIELD11 = NAME3.FIELD3
WHERE FIELD1 IN ('test1', 'test2', 'test3')
AND name2.field13 LIKE 'helloworld'
GROUP BY NAME1.FIELD1
ORDER BY NAME1.FIELD14 DESC
;