我正在使用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。我尝试用
重新安装Cordovanpm uninstall cordova
然后重新安装它,但它仍然会产生相同的错误。我还重新安装了Android SDK。这是我运行run.bat --emulator:
时的日志['adb devices',null,'附加设备列表\ r \ n \ r \ n',''] exec:android list avds ['android list avds', 空值, '可用的Android虚拟设备:\ n名称:AVD_for_Nexus_S \ n路径:C:\\ 用户\\ Evers \\。android \\ avd \\ AVD_for_Nexus_S.avd \ n目标:Android 4.4(API列表 el 19)\ n ABI:armeabi-v7a \ n皮肤:480x800 \ n', ''] exec:android list avds ['android list avds', 空值, '可用的Android虚拟设备:\ n名称:AVD_for_Nexus_S \ n路径:C:\\ 用户\\ Evers \\。android \\ avd \\ AVD_for_Nexus_S.avd \ n目标:Android 4.4(API列表 el 19)\ n ABI:armeabi-v7a \ n皮肤:480x800 \ n', ''] 警告:未指定模拟器,默认为AVD_for_Nexus_S 等待模拟器...... exec:adb设备 events.js:72 扔掉//未处理的'错误'事件
任何线索?
答案 0 :(得分:35)
手动启动模拟器后重新运行。
创建模拟器
android
并按Enter键,将出现GUI。启动模拟器
emulator.exe -avd *avdname*
(等待几分钟完全启动)答案 1 :(得分:6)
我自己也收到了同样的错误,可能有3个问题:
模拟器使用在platforms / android / bin文件夹中生成的apk文件。有时这是遗漏的,所以一定要:
如果丢失,将创建丢失的apk文件。
第二个问题可能是将它添加到模拟器,必须先运行:
How to install an apk on the emulator in Android Studio?
还可以选择使用以下命令删除和创建Android虚拟机:
http://developer.android.com/tools/devices/index.html
的AVD希望这有帮助,请告诉我。关于此错误的文档很少。
答案 2 :(得分:2)
@Tech Pro
Cordova 3.2需要Android KITKAT版本sdk。所以,问题在于你的Android SDK版本。这个问题有两种解决方案。
<强>解决方案:1 强>:
按照@Evers
的建议,将您的Android SDK更新到最新版本或降级到Cordova 3.0版<强>解决方案:2 强>: 如果您不想升级Android SDK或降级Cordova版本,请按照此处的步骤操作。
答案 3 :(得分:1)
@Tech Pro此错误可能是由于在发送模拟命令之前需要启动和解锁虚拟机的未记录事实引起的。
确保Android虚拟设备管理器通过以下命令创建了虚拟机:
android avd
确保版本与您的应用程序兼容性正确:)对不起,我收到了迟到的回复!
答案 4 :(得分:1)
我正在玩Cordova研讨会教程并遇到类似的问题,Android模拟器无法启动。我检查了上面的答案,但它仍然不适合我。所以这就是我所做的(我使用的是Windows 7):
我从{<1}}经理开始:
AVD (Android Virtual device)
经理。
我注意到为start->programs->Android SDK Tools->AVD
列出的单个条目有&#34;?&#34;在Platform和其他列旁边。这让我想知道为什么。
我点击&#34; Nexus_5_API_21_X86
&#34;并指定目标平台和其他缺少的字段。
点击&#34;开始&#34;开始Edit
。一分钟之后,你还应该看到android模拟器屏幕显示。
重新运行cordova AVD
瞧!然后,命令窗口显示编译进度,最后,您应该看到下面的消息。再过一分钟,您应该能够在Android模拟器上找到您的应用程序。
(c:\Cordova\workshop>cordova emulate android)
希望这有帮助!
答案 5 :(得分:0)
我终于找到了解决方法。我不知道为什么Cordova 3.2无法在我的系统上自动启动模拟器,因为它可以在我的笔记本电脑上运行。降级到3.0似乎解决了这个问题:
npm uninstall cordova
npm install -g cordova@3.0.0
答案 6 :(得分:0)
我的问题是因为我通过符号链接运行了android sdk管理器(我在usr/local/bin
处得到了它)。当我将$ANDROID_HOME/tools
放入PATH并删除符号链接时,它就开始工作了。