[英]Cordova android emulator stopped working
我正在使用Cordova构建Android应用程序。 Android模拟器工作正常,但我没有使用它,因为我安装了Ripple模拟器。 我继续构建我的应用程序,但某处模拟器已损坏。
当我执行以下操作时:
cordova create test
cordova platform add android
cordova build
cordova emulate
导致以下错误:
Error: An error occurred while emulating/deploying the android project.
events.js:72
throw er; // Unhandled 'error' event
^
Error: spawn ENOENT
at errnoException (child_process.js:980:11)
at Process.ChildProcess._handle.onexit (child_process.js:771:34)
]
我安装了Cordova 3.2和Android 4.3 API以及4.4。 我试着重新安装Cordova
npm uninstall cordova
并重新安装它,但它仍然产生相同的错误。 我还重新安装了Android SDK。 这是我运行run.bat时的日志--emulator:
['adb devices',null,'附加设备列表\\ r \\ n \\ r \\ n',''] exec:android list avds ['android list avds',null,'可用的Android虚拟设备:\\ n名称: AVD_for_Nexus_S \\ n路径:C:\\\\用户\\\\ Evers \\\\。android \\\\ avd \\\\ AVD_for_Nexus_S.avd \\ n目标:Android 4.4(API lev el 19)\\ n ABI:armeabi-v7a \\ n皮肤:480x800 \\ n',''] exec:android list avds ['android list avds',null,'可用的Android虚拟设备:\\ n名称:AVD_for_Nexus_S \\ n路径:C:\\\\ Users \\\\ Evers \\\\。android \\\\ avd \\\\ AVD_for_Nexus_S.avd \\ n目标:Android 4.4(API级别19)\\ n ABI:armeabi-v7a \\ n外观:480x800 \\ n','']警告:未指定模拟器,默认为AVD_for_Nexus_S等待模拟器.. .exec:adb devices events.js:72 throw er; //未处理的'错误'事件
有线索吗?
只需在手动启动模拟器后重新运行。
创建模拟器
android
并按Enter键,GUI将会出现。 启动模拟器
emulator.exe -avd *avdname*
(等待几分钟才能完全启动) 我自己收到了同样的错误,可能有3个问题:
模拟器使用在platforms / android / bin文件夹中生成的apk文件。 有时这是遗漏的,所以一定要:
如果丢失,将创建丢失的apk文件。
第二个问题可能是将它添加到模拟器,必须先运行:
还可以选择使用以下命令删除和创建Android虚拟机:
AVD在http://developer.android.com/tools/devices/index.html
希望这有帮助,让我知道。 关于此错误的文档很少。
@Tech Pro
Cordova 3.2需要Android KITKAT版本sdk。 所以,问题在于你的Android SDK版本。 这个问题有两个解决方案。
解决方案:1 :
按照@Evers的建议,将您的Android SDK更新到最新版本或降级到Cordova 3.0版
解决方案:2 :如果您不想升级Android SDK或降级Cordova版本,请按照此处的步骤操作。
@Tech Pro此错误可能是由于在发送模拟命令之前需要启动和解锁虚拟机的未记录事实引起的。
确保Android虚拟设备管理器通过以下命令创建了虚拟机:
android avd
确保版本与您的应用程序兼容性正确:)对不起,我得到了迟到的回复!
我正在玩Cordova研讨会教程并遇到类似的问题,Android模拟器无法启动。 我检查了上面的答案,但它仍然不适合我。 所以这就是我所做的(我使用的是Windows 7):
我从以下位置启动了AVD (Android Virtual device)
管理器:
start->programs->Android SDK Tools->AVD
Manager。
我注意到为Nexus_5_API_21_X86
列出的单个条目有“?” 在Platform和其他列旁边。 这让我想知道为什么。
我单击“ Edit
”并指定目标平台和其他缺少的字段。
单击“开始”以启动AVD
。 一分钟后,你还应该看到android模拟器屏幕显示。
重新运行cordova (c:\\Cordova\\workshop>cordova emulate android)
瞧! 然后,命令窗口显示编译进度,最后,您应该看到下面的消息。 再过一分钟,你应该能够在Android模拟器上找到你的应用程序。
BUILD SUCCESSFUL Total time: 1 mins 10.307 secs Built the following apk(s): C:\\Cordova\\workshop\\platforms\\android\\build\\outputs\\apk\\android-debug.apk Installing app on emulator... Using apk: C:\\Cordova\\workshop\\platforms\\android\\build\\outputs\\apk\\android-debug.apk Launching application... LAUNCH SUCCESS
希望这可以帮助!
我终于找到了一个解决方案。 我不知道为什么Cordova 3.2无法在我的系统上自动启动模拟器,因为它可以在我的笔记本电脑上运行。 降级到3.0似乎解决了这个问题:
npm uninstall cordova
npm install -g cordova@3.0.0
我的问题是由于我通过符号链接运行android sdk管理器(我在usr/local/bin
)。 当我将$ANDROID_HOME/tools
放入PATH并删除符号链接时,它开始工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.