今天早上将几个 SDK 和 Android Studio 升级到 2.3 后,我遇到了与此相关的常见故障。 由于某些 API 发生了变化,我无法启动模拟器。我得到以下信息:
Running command: android list avds
Command finished with error code 2: android list,avds
Error: android: Command failed with exit code 2
at ChildProcess.whenDone (/home/mario/src/mobile/regibox/app/platforms/android/cordova/node_modules/cordova-common/src/superspawn.js:169:23)
at emitTwo (events.js:87:13)
at ChildProcess.emit (events.js:172:7)
at maybeClose (internal/child_process.js:854:16)
at Process.ChildProcess._handle.onexit (internal/child_process.js:222:5)
自己运行命令给了我
$ android list avds
*************************************************************************
The "android" command is deprecated.
For manual SDK, AVD, and project management, please use Android Studio.
For command-line tools, use tools/bin/sdkmanager and tools/bin/avdmanager
*************************************************************************
Invalid or unsupported command "list avds"
Supported commands are:
android list target
android list avd
android list device
android create avd
android move avd
android delete avd
android list sdk
android update sdk
这是我目前拥有的:
$ cordova -v
6.5.0
$ cordova platform ls
Installed platforms:
android 6.2.0
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 list avds
这是在 linux 上。
最佳答案
问题似乎出在 cordova android 平台实现上。
您可以使用以下方式升级到最新(主)版本:
cordova platform add https://github.com/apache/cordova-android
(从 https://stackoverflow.com/a/42797817 复制)
不幸的是,这个问题即使在主版本中仍然存在(参见 source code),但可能会很快得到修复。
作为解决方法,您可以重命名 android
实用程序,无论如何,据我所知,它似乎已被弃用:
mv $ANDROID_HOME/tools/android $ANDROID_HOME/tools/android.bak
关于android - 在 cordova 堆栈中升级损坏的启动模拟器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43204482/