[英]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.