Cordova /离子构建android Gradle错误:支持的Gradle最低版本为2.14.1,当前版本为2.13

628mspwn  于 2022-11-15  发布在  Android
关注(0)|答案(9)|浏览(202)

这是一个解决上述错误,我想文件。我发现其他类似的职位,但没有描述如何这个错误可以与 cordova 或离子。
如果您不小心,Android Studio使用的Gradle版本可能与Cordova / cordova-android在其自动生成的应用程序代码中指定的Gradle版本不匹配。

$ cordova platform add android

(or $ ionic platform add android,如果您正在构建Ionic应用程序)将在-project/platforms/android中创建本地应用程序代码。
在该文件夹中,文件:导出变量,如下所示:

var distributionUrl = process.env['CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL'] || 'http\\://services.gradle.org/distributions/gradle-x.y-all.zip';

其中x和y取决于构建本机应用程序代码所使用的Cordova / cordova-android版本。
当你跑的时候

$ cordova build android

distributionUrl变量中指定的Gradle版本是用于构建的版本。
当您将项目导入Android Studio时,很可能会收到一条强烈建议您将Gradle升级到更新版本的消息,如下所示:
x1c 0d1x如果您这样做,Android Studio将下载新版本的Gradle并将其存储在本地,并将项目配置为使用新下载的本地Gradle分发版本,这是所选“使用默认等级 Package 器”下方的单选选项,我最终取消了该选项,因为这会导致错误。

这将导致问题,因为Android Studio和Cordova现在将尝试使用不同版本的Gradle构建应用程序,您将在Android Studio中以及使用

$ cordova build android

Cordova应用的解决方案是始终将Android Studio项目设置为“Use default gradle wrapper”(使用默认Gradle Package 器),并忽略提示升级的消息。如果您确实想使用较新版本的Gradle,您可以随时更改上述文件中的distributionUrl var(但是Cordova强烈反对修改platforms文件夹中的代码,因为它很容易被覆盖)。在编写本文时,我不知道是否有办法将Gradle版本设置为

$ cordova platform add android

步骤,这是您希望执行此操作的时间,这样您就不会直接修改项目/平台内部的代码

pb3s4cty

pb3s4cty1#

对我来说,以下命令解决了这个问题:

cordova platform remove android

cordova platform add android

ionic build android
plicqrtu

plicqrtu2#

我很想把这个作为一个评论,但我显然不够有信誉...
在阅读了您的文档后,我无法解决您关于将Android Studio保留为“使用默认gradle Package 器”的建议。我发现,在构建之前设置会话变量CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL让我更进一步:

root@dev:$ export CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL="https\://services.gradle.org/distributions/gradle-2.14.1-all.zip"
root@dev:$ cordova build android

接下来我要做的是编辑<project>/platforms/android/build.gradle<project>/platforms/android/CordovaLib/build.gradle,并确保它们都指向有效的Gradle插件版本。

dependencies {
    classpath 'com.android.tools.build:gradle:2.2.0'
}

...在<project>/platforms/android/CordovaLib/build.gradle中,我在存储库中添加了jcenter(因为maven.org似乎没有2.2.0)

repositories {
    mavenCentral();
    jcenter()
}

我那时就能建造了。

6gpjuf90

6gpjuf903#

切换回“Use default gradle wrapper”(使用默认gradle Package 器)对我的ionic 1项目不起作用,但运行

ionic platform remove android
ionic platform add android

对我有用

wnrlj8wa

wnrlj8wa4#

解决问题的另一种方法,也适用于Windows:

cordova build android --release --CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip
qaxu7uf2

qaxu7uf25#

您可以在以下位置更改该值:
您更改的值,当您重新安装android平台时,它将被最新的gradle zip替换,因此您无需担心更改它

var distributionUrl = process.env['CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL'] || 'https\\://services.gradle.org/distributions/gradle-2.14.1-all.zip';

或者像其他人一样

export CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL="https\://services.gradle.org/distributions/gradle-2.14.1-all.zip"
bakd9h0s

bakd9h0s6#

我想延长@笨拙的回答。
我对gradle版本和兼容版本的安卓插件感到困惑。以下链接列出了兼容版本的Map:
Gradle vs Android plugin for gradle - Compatible version list
对于当前版本的gradle3.3+,兼容的android插件版本为2.3.3
因此,最终设置如下所示:
适用于Mac
步骤1:在env变量中添加以下内容:
选项a)更新env变量:

export CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL="https\://services.gradle.org/distributions/gradle-3.3-all.zip"


选项B)您可以下载gradle file并将其放置在<project>/platforms/android/gradle/中,然后更新env变量:

export CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL="../gradle-3.3-all.zip"

步骤2:更新<project>/platforms/android/CordovaLib/build.gradle中的以下内容

buildscript {
  ...
  dependencies {
    classpath 'com.android.tools.build:gradle:2.3.3'
  }
}

这对我很有效。

pkbketx9

pkbketx97#

对于以下错误:
支持的Gradle最低版本为4.1。当前版本为3.3。如果使用Gradle Package 器,请尝试将E:\ionic\MyIonicProject\gr adle\wrapper\gradle-wrapper.properties中的分发URL编辑为gradle-4.1-all.zip以获得Gradle 4.1
以下命令对我很有效:

ionic cordova platform update android
7xzttuei

7xzttuei8#

在跟进Chuck Holbrooks的回答,与以下解决方案,我得到一个错误时,试图添加Android平台再次说它已经添加。

ionic cordova platform remove android
ionic cordova platform add android

我的工作解决方案:

ionic cordova platform remove android
ionic cordova platform check android
ionic cordova platform add android
8cdiaqws

8cdiaqws9#

如果您运行以下命令,它将修复从命令行构建APK的问题

ionic cordova platform remove android
ionic cordova platform add android

然而,在Android Studio中运行/构建后,版本不匹配错误返回...
为了解决这个问题,在android studio中,您不应该更新项目Gradle版本控制,而应该转到文件〉项目结构〉SDK位置〉Gradle设置...然后告诉它从指定位置使用Gradle,该位置应该是C:/Gradle/Gradle-7.4.2或您拥有的任何版本。
通过这样做,您将能够使用ionic从命令行构建APK,也可以在android studio中构建APK。

相关问题