android - Cordova 无法构建项目

标签 android cordova build compiler-errors cordova-plugin-proguard

更新:新读者,请检查我最后的编辑。

更新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)

我检查了我是否安装了在 project.properties 中设置的目标 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

还有这个:

android list sdk

会提示我到 java 的下载页面,我安装了然后重新启动,仍然提示我相同

不存在 Java 运行时,请求安装。不存在 Java 运行时,请求安装。

-编辑-

通过安装 jdk这最后一件事不会再发生了

-编辑-

通过安装一个 jdk,只有当我使用 sudo 时,我才能构建和运行 cordova android,否则看起来像同样的错误

最佳答案

您的问题似乎是 Android Support Repository、Android Support Library 和 Google Repository 未安装或已过时,请安装/更新它们并重试。 TACO 不会更新它们,所以请尝试手动更新

旧的: 你能做的最好的事情就是安装 Microsoft TACO

npm install -g taco-cli
taco create myAwesomeApp
cd myAwesomeApp
taco platform add android
taco install-reqs android
taco build android

重要的命令是taco install-reqs android,它应该安装所有你需要的Android开发或修复你可能遇到的任何问题

如果您不想使用 TACO,您的问题似乎是 Android Support Repository、Android Support Library 和 Google Repository 未安装或已过时,请安装/更新它们并重试。

关于android - Cordova 无法构建项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33184555/

相关文章:

android - 将 Canvas 另存为图像到手机存储 Phonegap

android - 在 sencha touch 表单提交中加载掩码

css - 当我为生产构建时,Vuetify CSS 丢失

安卓 : Update exicting Contact List

Android:在录制视频时将视频保存到 PC/笔记本电脑

android - App 在 Debug 模式下工作,但在 Release 模式下不工作

android - 如何使用 ember.js 框架通过终端创建 cordova 混合 Android、ios 应用程序?

java - 无法构建 CAS 服务器

build - PlatformIO 致命构建错误 : LiquidCrystal. h "No such file or directory"

android - 如何检测 Android 中 ListView 项目的双击?