cordova 如何在Mac中设置ANDROID_SDK_ROOT?

mu0hgdu0  于 2022-11-15  发布在  Mac
关注(0)|答案(9)|浏览(305)

我正在尝试使用Cordova进行应用程序开发。目前我主要关注Android。我正在尝试运行cordova emulate android。它运行了一长串软件包后,它说“build successful”,但最后它还说
PANIC:找不到AVD系统路径。请定义ANDROID_SDK_ROOT
下面是命令行中命令的输出:

BUILD SUCCESSFUL

Total time: 1.345 secs
Built the following apk(s):
    /users/mayurtolani/myMobileApp/platforms/android/build/outputs/apk/android-debug.apk

ANDROID_HOME=/usr/local/Cellar/android-sdk/24.4.1_1
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home
No emulator specified, defaulting to Nexus_5_API_24
Waiting for emulator to start...
PANIC: Cannot find AVD system path. Please define ANDROID_SDK_ROOT
5cnsuln7

5cnsuln71#

vim ~/.bash_profile

然后添加以下环境变量:

export ANDROID_HOME=~/Library/Android/sdk
export ANDROID_SDK_ROOT=~/Library/Android/sdk
export ANDROID_AVD_HOME=~/.android/avd

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

source ~/.bash_profile
iugsix8n

iugsix8n2#

既然你使用了自制软件,你可以把这个添加到你的路径中:

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

希望我能帮上忙!:D

hm2xizp9

hm2xizp93#

我也面临着类似的问题。我已经下载了Android SDK以及Android工作室,所以有两个路径的Android主页。要运行模拟器,并删除Android SDK根未设置的错误,请使用以下步骤。
1.设置Android Studio下载的android sdk的路径。
1.如果您已将SDK下载到sdk文件夹中,请将其复制到Android studio生成的文件夹中。/Library/Android/sdk
1.设置bash配置文件并添加路径,如下所示。

export ANDROID_HOME=/Users/{your pc name}/Library/Android/sdk
export ANDROID_SDK_ROOT=$ANDROID_HOME
vnjpjtjt

vnjpjtjt4#

2021年更新

如果你是一个混合cordova/ionic/react的应用程序开发者。以下是对我有效的方法。所有其他的答案都失败了。所以我分享我的答案

1.在您的计算机上找到正确的JAVA_HOME路径

/usr/libexec/java_home -V

2.复制与“Java SE 8”关联的路径,通常类似于/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home
3.创建一个~/.bash_profile~/.zshrc文件。这里我使用touch是因为我不喜欢终端中的nano或vim。touch是一个普通的文本编辑器,我更喜欢用它编辑。使用你喜欢的任何东西。

touch ~/.bash_profile;
    
   touch ~/.zshrc;

4.编辑并复制/粘贴到~/.bash_profile~/.zshrc文件中

export PATH=$PATH:$ANDROID_HOME/platform-tools  
export ANDROID_SDK_ROOT=/Users/user198559/Library/Android/sdk
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_251.jdk/Contents/Home

5.用file-〉save保存文件,就像保存任何常规文件一样,* 之后 * 在终端中写入此内容

source ~/.bash_profile;

source ~/.zshrc;

6.打开新终端检查路径变量是否设置正确

echo $JAVA_HOME

/Library/Java/JavaVirtualMachines/jdk1.8.0_251.jdk/Contents/Home

echo $ANDROID_SDK_ROOT

/Users/user198559/Library/Android/sdk

echo $ANDROID_HOME (deprecated)

(should return empty)
7z5jn7bk

7z5jn7bk5#

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

nbewdwxp

nbewdwxp6#

除了Grogu的答案,尝试以下路径。它适用于我的M1 mac。请确保您安装了Android Studio。

export JAVA_HOME=$(/usr/libexec/java_home -v 1.8.0)

#SDK exporting
export ANDROID_HOME=$HOME/Library/Android/sdk

#Tools exporting
export PATH=$PATH:$ANDROID_HOME/emulator:$PATH
export PATH=$PATH:$ANDROID_HOME/tools:$PATH
export PATH=$PATH:$ANDROID_HOME/tools/bin:$PATH
export PATH=$ANDROID_HOME/platform-tools:$PATH
a2mppw5e

a2mppw5e7#

今天我在使用ionic框架时遇到了同样的问题。首先,我在Android Studio(tools-〉Android)的AVD管理器中检查了所有设备都运行,这是一个没有api版本的设备。所以我更改并测试了设备。然后我再次运行ionic emulate,工作正常。另外,您可以使用--target=Device_Name来运行特定的设备。

cclgggtu

cclgggtu8#

在我的新MacBook Air M1我正在使用Android大黄蜂版本得到了同样的问题,所以下面是帮助我的步骤
转到文件-〉项目结构-〉在左侧菜单SDK位置-〉在SDK位置部分的底部,单击蓝色的Gradle设置-〉将弹出Gradle对话框,然后单击Gradle JDK下拉菜单,选择“Android Studio java home”并单击确定。
然后点击顶部的构建菜单-〉清理项目然后点击顶部的构建菜单-〉重建项目
再次运行应用程序错误可能已经消失希望这会有帮助

ckx4rj1h

ckx4rj1h9#

在我的OSX终端中,我通过手动添加虚拟设备的名称,我可以从AVD管理器的“AVD名称”下读取,从而避免了此错误。

ionic emulate android --target="AVD name"

相关问题