【问题标题】:gradle fails when ionic cordova build android on Mac 10.x当 ionic cordova 在 Mac 10.x 上构建 android 时,gradle 失败
【发布时间】:2018-06-09 03:07:59
【问题描述】:

尝试在 Mac v10.x 上构建 Ionic 项目 ionic cordova build android 时出现此错误:

Subproject Path: CordovaLib 

Configuration 'compile' in project ':' is deprecated. Use 'implementation' instead.
null

The Task.leftShift(Closure) method has been deprecated and is scheduled to be removed in Gradle 5.0. Please use Task.doLast(Action) instead.

at build_1v81ywijexel39ggzi5morld0.run(<Userspath>/platforms/android/build.gradle:143)
org.xwalk:xwalk_core_library:23+
FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring root project 'android'.

> 

All flavors must now belong to a named flavor dimension. Learn more at https://d.android.com/r/tools/flavorDimensions-missing-error-message.html

错误表明这是 Gradle 问题。有人遇到这个并能够解决这个问题吗?我该怎么办?

------------------------------------------------------------
Gradle 4.4.1
------------------------------------------------------------

Build time:   2017-12-20 15:45:23 UTC
Revision:     10ed9dc355dc39f6307cc98fbd8cea314bdd381c

Groovy:       2.4.12
Ant:          Apache Ant(TM) version 1.9.9 compiled on February 2 2017
JVM:          1.8.0_161 (Oracle Corporation 25.161-b12)
OS:           Mac OS X 10.13.2 x86_64

使用 Ionic v3.19.x 和 Cordova v7.1.0,并更新 Cordova v8.0 肯定不能解决问题,同样使用 cordova-android v6.2.3

【问题讨论】:

  • 我从未使用过 ionic,但如果您可以访问您的 build.gradle。解决方案就在问题中……所有风味现在都必须属于一个命名的风味维度。通过d.android.com/r/tools/…了解更多信息
  • build.gradle 是自动生成的文件
  • @ewgen 你明白了吗?我在使用相同版本的 ionic、cordova 和 OS 时遇到了完全相同的问题
  • cordova-android 版本是什么?抄送@mtpultz
  • 嗨@SurajRao,我正在使用"cordova-android": "^6.2.3"

标签: android macos cordova ionic-framework android-gradle-plugin


【解决方案1】:

您需要更新您的cordova-android 平台。看起来旧平台中的 gradle 构建结构与您使用的 android gradle 版本不兼容。当前版本似乎是7.0.0

ionic cordova platform add android@latest

编辑 请注意 Crosswalk project /plugin 如果您打算按照其他答案降级,则不再维护

【讨论】:

  • 而不是提升 Android 版本,这意味着放弃没有 Android 7+ 的用户。有没有办法改为brew install gradle@4.1?我尝试将通过 Android Studio 安装的 Gradle 4.1 添加到我的路径中,但这似乎不起作用 - export PATH="/Applications/Android Studio/Contents/gradle/gradle-4.1/bin":$PATH
  • gradle 4.1 是较新的版本。您的应用程序也会自行选择该 gradle。您可以通过在项目文件夹中运行 cordova requirements 来验证这一点
  • 你也碰到cordova-android 版本..你可以在平台文件夹build.gradle中检查你的目标API
  • @mtpultz cordova-android 版本与它支持的Android 版本无关,cordova-android 7 支持SDK 16 及更高版本(下一次更新将更改为SDK 19 及更新版本)
  • 我已将 cordova-android 更新到 v7.0,因此该应用程序可以与 Gradle v4.4.1 一起使用,并添加了根据 cordova requirements 显然也缺少的 Cocoapods,并且似乎已经通过了这个问题,但没有完成基于另一个错误的构建,即使使用--verbose - pastebin.com/97Y2tszu 也是如此。
【解决方案2】:

cordova-android 7 与 crosswalk 不兼容,因此您必须降级到 cordova-android 6.4.0。

我没有在发行说明中看到它,但在 cordova-android 7.0.0 发行邮件中提到了。

【讨论】:

【解决方案3】:

我遇到了一个非常相似的错误,并最终通过以下方式解决了它: brew install gradle 我还必须为开发人员下载 Java 运行时版本 8。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-01
    • 2019-09-25
    • 2018-09-07
    • 2018-06-07
    • 2021-12-19
    • 2019-11-01
    相关资源
    最近更新 更多