这是一个解决上述错误,我想文件。我发现其他类似的职位,但没有描述如何这个错误可以与 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
步骤,这是您希望执行此操作的时间,这样您就不会直接修改项目/平台内部的代码
9条答案
按热度按时间pb3s4cty1#
对我来说,以下命令解决了这个问题:
plicqrtu2#
我很想把这个作为一个评论,但我显然不够有信誉...
在阅读了您的文档后,我无法解决您关于将Android Studio保留为“使用默认gradle Package 器”的建议。我发现,在构建之前设置会话变量CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL让我更进一步:
接下来我要做的是编辑
<project>/platforms/android/build.gradle
和<project>/platforms/android/CordovaLib/build.gradle
,并确保它们都指向有效的Gradle插件版本。...在
<project>/platforms/android/CordovaLib/build.gradle
中,我在存储库中添加了jcenter(因为maven.org似乎没有2.2.0)我那时就能建造了。
6gpjuf903#
切换回“Use default gradle wrapper”(使用默认gradle Package 器)对我的ionic 1项目不起作用,但运行
对我有用
wnrlj8wa4#
解决问题的另一种方法,也适用于Windows:
qaxu7uf25#
您可以在以下位置更改该值:
您更改的值,当您重新安装android平台时,它将被最新的gradle zip替换,因此您无需担心更改它
或者像其他人一样
bakd9h0s6#
我想延长@笨拙的回答。
我对gradle版本和兼容版本的安卓插件感到困惑。以下链接列出了兼容版本的Map:
Gradle vs Android plugin for gradle - Compatible version list
对于当前版本的gradle3.3+,兼容的android插件版本为2.3.3
因此,最终设置如下所示:
适用于Mac
步骤1:在env变量中添加以下内容:
选项a)更新env变量:
或
选项B)您可以下载gradle file并将其放置在
<project>/platforms/android/gradle/
中,然后更新env变量:步骤2:更新
<project>/platforms/android/CordovaLib/build.gradle
中的以下内容这对我很有效。
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
以下命令对我很有效:
7xzttuei8#
在跟进Chuck Holbrooks的回答,与以下解决方案,我得到一个错误时,试图添加Android平台再次说它已经添加。
我的工作解决方案:
8cdiaqws9#
如果您运行以下命令,它将修复从命令行构建APK的问题
然而,在Android Studio中运行/构建后,版本不匹配错误返回...
为了解决这个问题,在android studio中,您不应该更新项目Gradle版本控制,而应该转到文件〉项目结构〉SDK位置〉Gradle设置...然后告诉它从指定位置使用Gradle,该位置应该是C:/Gradle/Gradle-7.4.2或您拥有的任何版本。
通过这样做,您将能够使用ionic从命令行构建APK,也可以在android studio中构建APK。