如何使用Cordova运行Android模拟器?

4

先决条件

  • 已正确安装Android SDK(目录:/Users/gamecube/Library/Android/sdk)

如何重现:

  1. 运行以下命令:cordova build android
  2. 运行以下命令以启动Android模拟器:cordova emulate android --verbose

预期结果

模拟器将被启动。

实际结果

Command finished with error code 0: /Users/gamecube/Desktop/geocars/platforms/android/gradlew cdvBuildDebug,-b,/Users/gamecube/Desktop/geocars/platforms/android/build.gradle
Built the following apk(s): 
    /Users/gamecube/Desktop/geocars/platforms/android/app/build/outputs/apk/debug/app-debug.apk
No scripts found for hook "before_deploy".
Checking Java JDK and Android SDK versions
ANDROID_SDK_ROOT=undefined (recommended setting)
ANDROID_HOME=/Users/gamecube/Library/Android/sdk (DEPRECATED)
Running command: adb devices
Command finished with error code 0: adb devices
Could not find either `android` or `avdmanager` on your $PATH! Are you sure the Android SDK is installed and available?
CordovaError: Could not find either `android` or `avdmanager` on your $PATH! Are you sure the Android SDK is installed and available?
    at /Users/gamecube/Desktop/geocars/platforms/android/cordova/lib/emulator.js:176:35
    at processTicksAndRejections (internal/process/task_queues.js:97:5)

我的问题

为什么Android模拟器不工作?

为什么会出现这个错误?:

CordovaError: Could not find either `android` or `avdmanager` on your $PATH! Are you sure the Android SDK is installed and available?
2个回答

5

我的问题已经解决。

我是如何解决的?

  • 我打开了Android Studio,并进入SDK Manager。

image

  • 我点击了SDK Tools选项卡,在显示的列表中勾选了:Android SDK命令行工具(最新版本)

image

  • 接着,我点击了“应用”(然后在弹出窗口中点击“确定”),以下载相关软件包。

  • 我将avdmanager的路径添加到了.bash_profile中的PATH变量中。

  • 我运行了source ~/.bash_profile来进行刷新。

  • 然后我成功地运行了我的命令:cordova emulate android --verbose,由于模拟器已经成功启动。


4

仅使用 Android SDK 中的 Android 命令行工具,而不需要 Android Studio。确保这些 Android 命令行工具(例如 sdkmanageravdmanager)在 PATH 中,否则请使用完整路径运行它们(对于 Debian/Ubuntu,请参见 this 安装 Android SDK)。

安装模拟器

sdkmanager --install "emulator"

安装平台,例如 Android API 32 和 33(分别对应 Android 12 和 13):

sdkmanager --install "system-images;android-32;google_apis;x86_64"
sdkmanager --install "system-images;android-33;google_apis;x86_64"

创建 Android 虚拟设备(AVD),例如:
avdmanager create avd -n emulator32 -k "system-images;android-32;google_apis;x86_64"

确认已安装

avdmanager list avd

运行
cordova emulate android --target=emulator32

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接