2017-04-11 11 views
7

Próbuję uruchomić mój projekt Cordova w android emulatora:błąd Cordova działa na android emulatora: „Android: Polecenie nie powiodło się z kodem wyjścia 2”

cordova emulate android 

Budowa jest skuteczne, ale nie jest to emulator rozruchu i pojawia się błąd:

Error: android: Command failed with exit code 2 

dostaję to samo, gdy uruchomiony cordova requirements:

Requirements check results for android: 
Java JDK: installed 1.8.0 
Android SDK: installed true 
Android target: not installed 
android: Command failed with exit code 2 
Gradle: installed /opt/android-studio/gradle/gradle-3.2/bin/gradle 
Error: Some of requirements check failed 

Uaktualniono narzędzia Android SDK Tools do wersji 26.0.1 i android, która nie działa już dla mnie. Więc zainstalowałem [email protected] jak release page mówi i używać go w moim projekcie:

$ cordova platform ls 
Installed platforms: 
    android 6.2.1 
Available platforms: 
    amazon-fireos ~3.6.3 (deprecated) 
    blackberry10 ~3.8.0 
    browser ~4.1.0 
    firefoxos ~3.6.3 
    ubuntu ~4.3.4 
    webos ~3.7.0 

ale błąd nadal się dzieje. Czy ktoś ma jakieś pomysły, dlaczego tak się dzieje?

+0

Czasami po aktualizacji, stwierdziłem, że muszę usunąć platformę Android i odczytać ją –

Odpowiedz

21

myślę, że nowa wersja Android SDK nie jest kompatybilny z emulacją Cordova, więc zmienić to:

return superspawn.spawn('android', ['list', 'avds']) 

do tego:

return superspawn.spawn('android', ['list', 'avd']) 

wewnątrz

platforms/android/cordova/lib/emulator.js 

i twój błąd został naprawiony. Tak się dzieje, ponieważ polecenie "lista androidów" zostało zmienione na "lista Android avd" w nowym pakiecie SDK. Thanx do Douglas Neves

Jeśli po tym złapiesz kolejny błąd takiego:

Failed to install ... Failure [INSTALL_FAILED_VERSION_DOWNGRADE] 

musisz zmienić to:

var command = 'adb -s ' + target + ' install -r "' + apk + '"'; 

do tego:

var command = 'adb uninstall "' + pkgName + '"; adb -s ' + target + ' install -r "' + apk + '"'; 

w tym samym pliku. Ten kod odinstaluje aplikację przed jej zainstalowaniem, więc problem z wersją zniknie.

+0

Dzięki! To całkowicie rozwiązało to! Wygląda na to, że brakowało ich w cordova-android 6.2.1 – jetpackpony

+0

Czy to zostało zgłoszone jako zgłoszenie błędu do cordova? – IanL

+0

To prawda. To działa! Jesteś geniuszem! –

5

należy zaktualizować najnowszą platformę:

cordova platform remove android 
cordova platform update [email protected] 
+0

To działało dla mnie, musisz tylko dodać platformę przed aktualizacją: 'platforma cordova dodaj Androida' –

-1

Należy zapisać cały obszar roboczy dla jonowych w ramach dysku C z folderu.

Wykonanie nie powiodło się dla błędu zadania ": mergeDebugResources" zostanie rozwiązany.

+0

Przykro mi, nie bardzo rozumiem, co masz na myśli. Nie używam systemu Ionic ani Windows. A błąd, o którym wspomniałeś, nie miał miejsca dla mnie.Plus to pytanie już zawiera odpowiedź, która wskazuje dokładnie, co poszło nie tak w moim przypadku – jetpackpony