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

问题描述 投票:10回答:6

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

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.

而模拟器永远不会启动

另外,当我跑:

$ ${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

p.s:当我运行ionic cordova build android时它的工作正常

android cordova ionic-framework ionic3
6个回答
15
投票

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

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


9
投票

看来上面的答案对你有用,但是对于仍然遇到错误的其他人来说,确保检查你的android虚拟设备正在使用哪个系统映像(你可以在AVD的'API'栏下查看android studio列表)。

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


3
投票

对于Windows用户:

只需将其添加到PATH变量即可

C:\Users\lenovo\AppData\Local\Android\Sdk\emulator

0
投票

我有同样的错误

有效地@Suraj Rao答案是正确的,但有了这些变化,我的模拟器不能与离子cordova模拟android运行。我在变量环境中也改变了,在我的$ path中

${ANDROID_SDK_ROOT}\tools\bin

为了这

${ANDROID_SDK_ROOT}\emulator\bin

我关闭了cmd并再次打开。然后,离子cordova模拟android运行正常!


0
投票

我尝试了很多这些东西,虽然这可能不是所有人的解决方案,但我确信Windows用户会发现它很有用......我决定重新开始,我为Kotlin运行了一个示例培训计划。说明提供了设置Android Studio。我最终得到了不同的错误,导致了下面的解决方案。

https://codelabs.developers.google.com/codelabs/build-your-first-android-app-kotlin/index.html#1

问题与HAXM有关。虽然它已安装在SDK管理器中,但您必须运行位于SDK文件夹中的Intel程序才能完全访问它。浏览到:

C:\Users\username\AppData\Local\Android\Sdk\extras\intel\Hardware_Accelerated_Execution_Manager 

右键单击,以管理员身份运行,文件intelhaxm-android.exe已修复...


0
投票

对于Windows用户:

1 - 将其添加到PATH变量C:\ Users \ NameUserAccount \ AppData \ Local \ Android \ Sdk \ emulator

2 - 重新启动Windows。

© www.soinside.com 2019 - 2024. All rights reserved.