问题:PhoneGap/Cordova WebStorm Ubuntu - 错误

我安装了 WebStorm 和 Android Studio。我设置了我的 Android SDK 和 Java 环境变量。我最初有这个错误(https://github.com/phonegap/phonegap-cli/issues/685),我通过提取该帖子中提到的模板文件夹来修复它。

当我在 WebStorm 中运行 PhoneGap 演示项目时,我现在得到:

BUILD SUCCESSFUL

Total time: 0.653 secs

Built the following apk(s): 
    /home/user/WebstormProjects/PageLoad/platforms/android/build/outputs/apk/android-debug.apk


ANDROID_HOME=/home/user/Android/Sdk

JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

Error: android: Command failed with exit code 2

所以我然后从 CLI 运行phonegap run android --verbose并得到:

Built the following apk(s): 
        /home/user/WebstormProjects/PageLoad/platforms/android/build/outputs/apk/android-debug.apk


No scripts found for hook "before_deploy".


ANDROID_HOME=/home/user/Android/Sdk

JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

Running command: adb devices

Command finished with error code 0: adb devices


No target specified and no devices found, deploying to emulator


Running command: adb devices


Command finished with error code 0: adb devices


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/user/WebstormProjects/PageLoad/platforms/android/cordova/node_modules/cordova-common/src/superspawn.js:169:23)
    at emitTwo (events.js:106:13)
    at ChildProcess.emit (events.js:194:7)
    at maybeClose (internal/child_process.js:899:16)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:226:5)

我还尝试从$ANDROID_HOME/Sdk/platforms中删除我的android-24目录,结果相同。这实际上是我尝试的第一件事,因为在 WebStorm 中运行 PhoneGap 并没有出现任何错误,而是挂起。

PhoneGap CLI 6.4.5

节点4.5.0

npm 4.3.0

Android SDK 工具 25.3.1

解答

Android SDK 工具 25.3.1 破坏了 cordova-android 和其他一些库。

此后,Cordova Android 6.2.1 已发布,现在它与 Android SDK 工具 25.3.1 兼容,但与 Phonegap CLI 6.4.5 和 cordova-android 6.2.1 不兼容。您必须先更新到最新的 Phonegap CLI 6.5.0。

然后你可以用cordova platform update android@6.2.1更新你当前不兼容的android平台

或者您可以删除现有平台并添加新平台(将删除您在 Project/platforms/android/ 文件夹中所做的任何手动更改)

cordova platform rm android

cordova platform add android@6.2.1

您必须指定 6.2.1 版本,因为当前 CLI 默认安装 cordova-android 6.1.x。

另外,不要将 Android SDK 工具更新到 26.x.x,因为它破坏了 cordova-android 6.2.1

Logo

Ubuntu 社区为您提供最前沿的新闻资讯和知识内容

更多推荐