[英]Ionic 2 Native plugins fails to install
每当我尝试在Ionic2项目上添加本机插件时,CLI都会将错误抛出为:
请求安装本机插件-
ionic插件添加phonegap-plugin-barcodescanner
Installing "phonegap-plugin-barcodescanner" for android
Installing "cordova-plugin-compat" for android
ANDROID_HOME=C:\Program Files (x86)\Android\android-sdk
JAVA_HOME=C:\Program Files\Java\jdk1.8.0_121
Subproject Path: CordovaLib
Unzipping C:\Users\<user_name>\.gradle\wrapper\dists\gradle-2.14.1-all\53l0mv9mggp9q5m2ip574m21oh\gradle-2.14.1-all.zip to C:\Users\<user_name>\.gradle\wrapper\dists\gradle-2.
14.1-all\53l0mv9mggp9q5m2ip574m21oh
Exception in thread "main"
java.lang.RuntimeException: java.util.zip.ZipException: error in opening zip file
at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAccessManager.java:78)
at org.gradle.wrapper.Install.createDist(Install.java:47)
at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:129)
at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:48)
Caused by: java.util.zip.ZipException: error in opening zip file
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.<init>(ZipFile.java:219)
at java.util.zip.ZipFile.<init>(ZipFile.java:149)
at java.util.zip.ZipFile.<init>(ZipFile.java:163)
at org.gradle.wrapper.Install.unzip(Install.java:160)
at org.gradle.wrapper.Install.access$400(Install.java:29)
at org.gradle.wrapper.Install$1.call(Install.java:70)
at org.gradle.wrapper.Install$1.call(Install.java:47)
at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAccessManager.java:65)
... 3 more
Failed to install 'cordova-plugin-compat':Error: cmd: Command failed with exit code 1
at ChildProcess.whenDone (F:\<path>\EventShareApp\platforms\android\cordova\node_modules\cordova-common\src\superspawn.js:169:23)
at emitTwo (events.js:100:13)
at ChildProcess.emit (events.js:185:7)
at maybeClose (internal/child_process.js:850:16)
at Process.ChildProcess._handle.onexit (internal/child_process.js:215:5)
Failed to install 'phonegap-plugin-barcodescanner':Error: cmd: Command failed with exit code 1
at ChildProcess.whenDone (F:\<user_name>\EventShareApp\platforms\android\cordova\node_modules\cordova-common\src\superspawn.js:169:23)
at emitTwo (events.js:100:13)
at ChildProcess.emit (events.js:185:7)
at maybeClose (internal/child_process.js:850:16)
at Process.ChildProcess._handle.onexit (internal/child_process.js:215:5)
Error: cmd: Command failed with exit code 1 enter code here
我尝试使用其他本机插件-但每次错误均保持不变。
这参考了我先前的问题: Ionic2-Android构建失败
问题在于最新的Android SDK不可用。
基本上按照' https://cordova.apache.org/docs/en/latest/guide/platforms/android/'-从cordova-android@4.0.0开始,适用于Android项目的Cordova使用Gradle构建。 之前它是使用Apache Ant构建的。
现在Gradle正在寻找最新的Android SDK。 当我删除android平台并再次使用ionic platform add android
命令时-CLI列出未安装最新的Android SDK(在我的情况下为SDK 24)。
我使用Android SDK Manager安装了所需的SDK版本,随后又添加了Android平台,以及顺利安装的cordova插件,没有任何错误。
CLI打印以下内容-
..ionic plugin add onesignal-cordova-plugin
Fetching plugin "onesignal-cordova-plugin" via npm
Installing "onesignal-cordova-plugin" for android
ANDROID_HOME=C:\Program Files (x86)\Android\android-sdk
JAVA_HOME=C:\Program Files\Java\jdk1.8.0_121
Subproject Path: CordovaLib
Incremental java compilation is an incubating feature.
:clean
:CordovaLib:clean
BUILD SUCCESSFUL
Total time: 1.611 secs
Subproject Path: CordovaLib
如果有人遇到同样的问题,请将SDK更新到最新版本是否有帮助,请告知我。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.