更新:新读者,请查看我的最后编辑。
升级 Cordova 后,无法构建/运行。
Mac-mini-de-Toni:funcook toniweb$ sudo cordova build
Password:
Running command: /Users/toniweb/Proyectos/cordova/funcook/platforms/android/cordova/build
ANDROID_HOME=/usr/local/Cellar/android-sdk/22.6.2
JAVA_HOME=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
Running: /Users/toniweb/Proyectos/cordova/funcook/platforms/android/gradlew cdvBuildDebug -b /Users/toniweb/Proyectos/cordova/funcook/platforms/android/build.gradle -Dorg.gradle.daemon=true
FAILURE: Build failed with an exception.
* What went wrong:
A problem occurred configuring root project 'android'.
> Could not resolve all dependencies for configuration ':_debugCompile'.
> Could not find any version that matches com.android.support:support-v4:+.
Searched in the following locations:
https://repo1.maven.org/maven2/com/android/support/support-v4/maven-metadata.xml
https://repo1.maven.org/maven2/com/android/support/support-v4/
Required by:
:android:unspecified
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
BUILD FAILED
Total time: 9.374 secs
/Users/toniweb/Proyectos/cordova/funcook/platforms/android/cordova/node_modules/q/q.js:126
throw e;
^
Error code 1 for command: /Users/toniweb/Proyectos/cordova/funcook/platforms/android/gradlew with args: cdvBuildDebug,-b,/Users/toniweb/Proyectos/cordova/funcook/platforms/android/build.gradle,-Dorg.gradle.daemon=true
ERROR building one of the platforms: Error: /Users/toniweb/Proyectos/cordova/funcook/platforms/android/cordova/build: Command failed with exit code 8
You may not have the required environment or OS to build this project
Error: /Users/toniweb/Proyectos/cordova/funcook/platforms/android/cordova/build: Command failed with exit code 8
at ChildProcess.whenDone (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova/superspawn.js:139:23)
at ChildProcess.EventEmitter.emit (events.js:98:17)
at maybeClose (child_process.js:753:16)
at Process.ChildProcess._handle.onexit (child_process.js:820:5)
我检查了一下,发现我已经安装了项目属性中设置的目标版本22。
# This file is automatically generated by Android Tools.
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
#
# This file must be checked in Version Control Systems.
#
# To customize properties used by the Ant build system edit
# "ant.properties", and override values to adapt the script to your
# project structure.
#
# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
# Project target.
target=android-22
android.library.reference.1=CordovaLib
cordova.system.library.1=com.android.support:support-v4:+
有任何想法我错过了什么吗?(在更新cordova之前这个功能正常工作)
-更新-
插件:
Mac-mini-de-Toni:funcook toniweb$ cordova plugins list
org.apache.cordova.camera 0.3.6 "Camera"
org.apache.cordova.device 0.3.0 "Device"
org.apache.cordova.file 1.3.3 "File"
org.apache.cordova.inappbrowser 0.6.0 "InAppBrowser"
org.apache.cordova.media 0.2.16 "Media"
org.apache.cordova.media-capture 0.3.6 "Capture"
更新 Cordova Android 平台:
Mac-mini-de-Toni:funcook toniweb$ cordova platform update android
Updating android project...
cp: copyFileSync: could not write to dest file (code=EACCES):/Users/toniweb/Proyectos/cordova/funcook/platforms/android/assets/www/cordova.js
ls: no such file or directory: /Users/toniweb/Proyectos/cordova/funcook/platforms/android/libs/cordova-*.jar
Android project updated with cordova-android@4.1.1
版本:
Mac-mini-de-Toni:funcook toniweb$ npm version
{ http_parser: '1.0',
node: '0.10.28',
v8: '3.14.5.9',
ares: '1.9.0-DEV',
uv: '0.10.27',
zlib: '1.2.3',
modules: '11',
openssl: '1.0.1g',
npm: '1.4.9' }
Mac-mini-de-Toni:funcook toniweb$ node --version
v0.10.28
Mac-mini-de-Toni:funcook toniweb$ cordova -v
5.3.3
And this:
android list sdk
当我点击链接进入java下载页面,下载并重启电脑后仍会提示:
未安装Java运行时环境,请安装。未安装Java运行时环境,请安装。
-编辑-
通过安装jdk,就不再出现上述问题。
-编辑-
只有使用sudo
命令才能编译和运行cordova android,这需要先安装jdk,否则依然会报同样的错误。
sudo
来运行cordova build;(2)你尝试过cordova platform rm android
和cordova platform add android
吗? - eb1