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

Med*_*rix 4 sdk android cordova android-studio phonegap

先决条件

  • 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)
Run Code Online (Sandbox Code Playgroud)

我的问题

为什么Android模拟器不能运行?

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

CordovaError: Could not find either `android` or `avdmanager` on your $PATH! Are you sure the Android SDK is installed and available?
Run Code Online (Sandbox Code Playgroud)

Med*_*rix 5

我解决了我的问题。

我是怎么做到的?

  • 我打开 Android Studio,然后转到 SDK 管理器。

图像

  • 我单击了“SDK 工具”选项卡,并在显示的列表中检查了:Android SDK 命令行工具(最新)

图像

  • 然后,我单击“应用”(然后在弹出窗口中单击“确定”)以下载有问题的包。

  • 我将 avdmanager 的路径添加到 .bash_profile 中的 PATH 中

  • 我已经跑去source ~ / .bash_profile刷新了

  • 我启动了我的命令:cordova emulate android --verbose成功,因为模拟器已打开良好。


Joã*_*ira 5

没有 Android Studio,仅使用Android SDK 中的Android 命令行工具。确保这些 Android 命令行工具(例如sdkmanageravdmanager)位于 PATH 中,否则使用完整路径运行它们(对于 Debian/Ubuntu,请参阅安装 Android SDK)。

安装模拟器

sdkmanager --install "emulator"
Run Code Online (Sandbox Code Playgroud)

安装平台,例如 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"
Run Code Online (Sandbox Code Playgroud)

创建 Android 虚拟设备 (AVD),例如:

avdmanager create avd -n emulator32 -k "system-images;android-32;google_apis;x86_64"
Run Code Online (Sandbox Code Playgroud)

确认已安装

avdmanager list avd
Run Code Online (Sandbox Code Playgroud)

跑步

cordova emulate android --target=emulator32
Run Code Online (Sandbox Code Playgroud)