离子cordova在PANIC中运行android结果:缺少'x86'CPU的模拟器引擎程序

Luc*_*ebs 13 android cordova ionic-framework ionic3

经过大量搜索后,我运行时无法解决此错误:

ionc cordova run android -ls

OUTPUT:

ANDROID_HOME=/Users/lucianokrebs/Library/Android/sdk
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_161.jdk/Contents/Home
No target specified and no devices found, deploying to emulator        
No emulator specified, defaulting to Nexus_5_API_P

Waiting for emulator to start...

PANIC: Missing emulator engine program for 'x86' CPU.
Run Code Online (Sandbox Code Playgroud)

而模拟器永远不会启动

另外,当我跑:

$ ${ANDROID_SDK_ROOT}/tools/emulator -avd my-custom-avd

我有: PANIC: Missing emulator engine program for 'x86' CPU.

但是,当我跑:

$ ${ANDROID_SDK_ROOT}/emulator/emulator -avd my-custom-avd

模拟器启动并正常工作

似乎cordova在尝试启动模拟器时设置了错误的路径.有人已经处理过了吗?

ionic info:
    cli packages: (/usr/local/lib/node_modules)
    @ionic/cli-utils  : 1.19.2
    ionic (Ionic CLI) : 3.20.0

global packages:

    cordova (Cordova CLI) : 8.0.0 

local packages:

    @ionic/app-scripts : 3.1.8
    Cordova Platforms  : android 7.0.0 ios 4.5.4
    Ionic Framework    : ionic-angular 3.9.2

System:

    Node  : v8.9.4
    npm   : 5.6.0 
    OS    : macOS High Sierra
    Xcode : Xcode 9.3 Build version 9E145 

Environment Variables:

    ANDROID_HOME : not set

Misc:

    backend : pro
Run Code Online (Sandbox Code Playgroud)

ps:当我运行ionic cordova build android它也工作正常

Sur*_*Rao 16

从SDK工具版本25.3.0开始,模拟器已被删除并移至../sdk/emulator.

只需设置${ANDROID_SDK_ROOT}/emulator为您的$Path变量,以便emulator可以从命令行调用,离子cordova将检测模拟器.


小智 9

看来,以上的答案为你工作是伟大的,但对于其他人仍遇到错误时,一定要检查你的Android虚拟设备使用(你可以在AVD的"API"列下的机器人工作室检查哪个系统映像列表).

检查你没有使用任何太新的东西,我尝试使用28和27并且都没有工作,但26(Android Oreo 8.0)做了