簡體   English   中英

在Android模擬器上運行Cordova錯誤:“android:命令失敗,退出代碼為2”

[英]Cordova error running on android emulator: “android: Command failed with exit code 2”

我正在嘗試在Android模擬器中運行我的cordova項目:

cordova emulate android

構建成功但模擬器未啟動,我收到錯誤:

Error: android: Command failed with exit code 2

運行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

我已經將Android SDK工具升級到26.0.1並且android命令不再適用於我。 所以我在發布頁面上安裝了cordova-android@6.2.1並在我的項目中使用它:

$ 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

但錯誤仍然發生。 有沒有人有任何想法為什么會這樣?

我認為Android SDK的新版本與cordova仿真不兼容,所以我改變了這個:

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

對此:

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

platforms/android/cordova/lib/emulator.js

並且您的錯誤已修復。 發生這種情況'因為命令“android list avds”在新的SDK中被更改為“android list avd”。 Thanx to Douglas Neves

如果在那之后你會發現另一個錯誤:

Failed to install ... Failure [INSTALL_FAILED_VERSION_DOWNGRADE]

你需要改變這個:

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

對此:

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

在同一個文件中。 此代碼將在安裝之前卸載應用程序,因此版本問題將消失。

你應該更新最新的平台:

cordova platform remove android
cordova platform update android@latest

您應該將帶有離子的整個工作區保存在帶有文件夾的C驅動器下。

任務'執行失敗':mergeDebugResources'錯誤將被解決。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM