Cordova版本更改了www.example.com文件中的分发URLgradle-wrapper.properties

dddzy1tm  于 2022-11-15  发布在  其他
关注(0)|答案(9)|浏览(153)

我在运行时不断收到以下生成异常

cordova run android --verbose
  • 问题:评估根项目'android'时发生问题。

无法应用插件[id 'android']需要Gradle版本2.10。当前版本为2.2.1。如果使用Gradle Package 器,请尝试将C:\Users\Project\gradle\wrapper\gradle-wrapper. properties中的分发URL编辑为gradle-2.10-all.zip
原因是当我从运行cordova build命令时,该行被更改;

distributionUrl=http\://services.gradle.org/distributions/gradle-2.1.0-all.zip

distributionUrl=http\://services.gradle.org/distributions/gradle-2.2.1-all.zip

有什么办法可以阻止吗?

x6h2sr28

x6h2sr281#

可以猜到,当您发出“Cordova build android”命令时,有一个脚本正在后台运行。需要找到该脚本才能看到为Gradle版本指定的配置。
您必须检查以下js文件:
$PROJECT_ROOT/platforms/android/cordova/lib/builders/GradleBuilder.js
然后在文件中查找包含以下变量的行:

GradleBuilder.prototype.prepEnv

并检查distributionUrl变量:

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

这就是您要查找的内容,您需要将其更改为gradle-2.10-all.zip URL;
现在您可以运行build命令了,就这样!
受以下SO启发; install gradle for using in cordova build android

btqmn9zl

btqmn9zl2#

我认为最好导出变量CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL
示例:

export
CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL=http\\://services.gradle.org/distributions/gradle-2.14.1-all.zip

例如,如果您使用的是Mac,请将中的export命令添加到.bash_profile

nano ~/.bash_profile
fxnxkyjh

fxnxkyjh3#

更新日期:2017年5月21日

好吧,这是一个非常棘手的问题,我觉得必须写完整的说明来解决,希望它能节省别人我浪费在它上面的时间。下面是谷歌搜索,阅读公认的答案,并从试验和错误中解决问题的组合。
在执行其他操作之前,请确保关闭Docker(如果它正在运行)。一个症状是,在Android Studio中,模拟器加载对话框只是无声地消失。如果您从应用启动命令运行,您的应用只是等待连接到设备(发出消息)。
假设您已经这样做了,但仍然没有工作,请继续阅读。

可选(可能):仅供参考-就我个人而言,我使用SDK Man在我的机器上安装了匹配版本的Gradle。

假设您已经有了一个运行正常的Android Studio模拟器,其中包含棉花糖或牛轧糖(或两者)。
在我的情况下,我当时试图让 cordova 工作。
根据您是否希望重新开始(推荐),然后:

cordova platform rm android
cordova platform add android

首先需要下载。根据您的操作系统下载以下内容:

https://dl.google.com/android/repository/tools_r25.2.3-windows.zip
https://dl.google.com/android/repository/tools_r25.2.5-linux.zip
(我在Mac上运行,所以下载了:)
https://dl.google.com/android/repository/tools_r25.2.5-macosx.zip
将其解压缩,然后将templates文件夹复制到/Users/arcseldon/Library/Android/sdk/tools

**说明:**请查看platforms/android/cordova/check_reqs.js下声明的module.exports.check_gradle函数内部的逻辑,以了解它如何尝试派生gradle Package 器的路径。

$ echo $ANDROID_HOME
/Users/arcseldon/Library/Android/sdk

我可以看到一个tools子目录,但其中没有templates文件夹。因此,从下载并解压缩的zip文件中复制templates文件夹,并将其粘贴到$ANDROID_HOME/tools
最后,您应该创建一个路径层次结构,其中包括:

/Users/arcseldon/Library/Android/sdk/tools/templates/gradle/wrapper

现在,这满足了从脚本Angular 进行路径搜索的要求。

其次,检查您的cordova应用程序是否存在platforms/android/build.gradle,并搜索gradleVersion

task wrapper(type: Wrapper) { gradleVersion = '2.14.1' }
对于您的版本,请从以下URL下载:
https://services.gradle.org/distributions/gradle-X.Y.Z-all.zip
根据需要替换X、Y、Z以匹配您的版本。
就我而言,
https://services.gradle.org/distributions/gradle-2.14.1-all.zip
其它例子:
https://services.gradle.org/distributions/gradle-3.3-all.ziphttps://services.gradle.org/distributions/gradle-2.4-all.zip打印机
然后,下载完成后,将其放置在本地驱动器上,并使用ENV. variable.例如(更改为您的版本)进行引用

export CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL=file:///Users/myusername/temp/gradle-2.14.1-all.zip

**解释:**如果运行搜索,您会发现此环境变量是此环境变量得可选替代.请参阅platforms/android/cordova/lib/builders/GradleBuilder.js下声明得check_gradle得变量赋值

现在只需运行:

cordova run android --verbose

一切顺利,现在一切都应该“只为Android工作”。在我的情况下,iOS是开箱即用的-但我确实使用Xcode 8. 2而不是Xcode 8. 3是出于其他原因。

tpgth1q7

tpgth1q74#

这发生在我们身上,因为我们不小心让Android Studio构建了我们的 cordova 项目,导致了无尽的错误。
保存您能够:

cordova platform rm android
cordova platform add android
9rygscc1

9rygscc15#

内部平台
在第232行周围,您将看到:
变量分布URL =进程.env ['CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL']||在此基础上,提出了一种新的基于Web的分布式计算方法。
根据你的需要调整梯度。
范例:var distributionUrl =行程程序.env ['CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL']||在此基础上,提出了一种新的基于Web的分布式计算方法。

r6hnlfcb

r6hnlfcb6#

您可以尝试以下方法来解决此问题,
在Windows上,更改File -> Settings -> Builds,Execution,Deployment -> Build Tools -> Gradle -> Gradle home路径
在Mac OS上,更改Android Studio -> Preferences -> Builds,Execution,Deployment -> Build Tools -> Gradle -> Gradle home路径
否则,使用默认的gradle Package 器并按如下方式编辑Project\gradle\wrapper\gradle-wrapper.properties file's distributionUrl

distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-all.zip
798qvoo8

798qvoo87#

这是发生在我身上,因为我不是用最新版本的cordova-android构建。所以:

cordova platform rm android
cordova platform add android@latest

不要使用@latest指令。另外,请确保更新并下载最新版本的gradle,并将其包含在相应的目录中,如其他答案中所指出的。

cqoc49vn

cqoc49vn8#

请检查环境变量。
我的电脑〉属性〉系统属性〉高级〉环境变量...〉在“系统变量”下找到以下设置,并尝试根据您的Gradle版本进行更改。

CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL = https://services.gradle.org/distributions/gradle-6.5-all.zip

只需保存设置并重新打开命令窗口。然后尝试重新生成。

jaql4c8m

jaql4c8m9#

尝试打开文件project/platforms/android/build.gradle并进行更新
相关性{
类别路径'com.android.tools.build:gradle:X.X.X'
}

任务 Package (类型: Package ){
升级版本= 'X.X'
}
请参阅此处的参考资料https://developer.android.com/studio/releases/gradle-plugin.html#updating-gradle
更改X.X

相关问题