繁体   English   中英

Cordova 无法构建项目

[英]Cordova fails to build project

更新:新读者,请检查我的上次编辑。

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

科尔多瓦平台更新安卓:

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 的下载页面,我安装了该页面然后重新启动,并且仍然提示我相同

No Java runtime present, requesting install. No Java runtime present, requesting install.

-编辑-

通过安装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 或已过期,请安装/更新它们并重试。

由于您已经在运行cordova 5.3.3,因此当您将插件更新到当前版本时,您可能会摆脱构建错误。 cordova 项目已将所有官方插件移至 NPM Registry

我不知道“com.android.support:support-v4 问题”的确切问题,但由于这个支持库,我也遇到了几个插件构建问题。

您也可以尝试安装此插件来解决您的问题。

这个(几乎重复)问题中的一个答案建议更新 Android SDK(好主意)并删除和添加 android 平台(坏主意,如果您在 android 文件夹中有自定义并且没有备份它们)

面临相同类型的错误,但我在命令行中的android list sdk给了我Packages available for installation or update: 10 1- GPU Debugging tools, revision 1.0.3 2- Local Maven repository for Support Libraries, revision 28 3- Android Auto Desktop Head Unit emulator, revision 1.1 4- Google Play services, revision 29 5- Google Repository, revision 25 6- Google Play APK Expansion Library, revision 3 7- Google Play Billing Library, revision 5 8- Google Play Licensing Library, revision 2 9- Android Auto API Simulators, revision 1 10- Google Web Driver, revision 2

更新 android sdk 解决了我的问题 使用命令android update sdk --no-ui --filter 1,2,5,6,7,8,9在我的系统中更新了以下内容,或者您​​可以尝试更新所有软件包

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM