Gradle distributionUrl 随 'ionic cordova run android' 更改为旧版本,构建失败
Gradle distributionUrl changes with 'ionic cordova run android' to older version, build failure
我已将 Gradle distributionUrl 从 gradle-4.1-[ 更新为 https://services.gradle.org/distributions/gradle-6.1.1-all.zip =34=],但是当我 运行 ionic cordova run android
时,它会自行恢复为 4.1-all.zip 文件。这发生在终端到达的时候:
ANDROID_HOME=C:\Users\me\AppData\Local\Android\SDK
JAVA_HOME=C:\Program Files\Java\jdk1.8.0_181
studio
Subproject Path: CordovaLib
Subproject Path: app
然后导致
FAILURE: Build failed with an exception.
*Where:
Build file 'C:\Users\me\Desktop\....\platforms\android\CordovaLib\build.gradle' line 40
* What went wrong:
A problem occurred evaluating project':CordovaLib'.
> Failed to apply plugin [id 'com.android.internal.version-check']
> Minimum supported Gradle version is 6.1.1. Current version is 4.1...
本例中的第 40 行是 apply plugin: 'com.android.library'
我看到的问题是 Gradle 版本正在自行恢复到以前的版本。我怎样才能让它留在 6.1.1 版?我应该修复的 com.android.library
插件有问题吗?
我的 gradle 依赖项是:
classpath 'com.andorid.tools.build:gradle:4.0.1'
classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5'
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.7.3'
我的ionic info
:
cli packages: (C:\Users\bg21562\AppData\Roaming\npm\node_modules)
@ionic/cli-utils : 1.19.3
ionic (Ionic CLI) : 3.20.1
global packages:
cordova (Cordova CLI) : 9.0.0 (cordova-lib@9.0.1)
local packages:
@ionic/app-scripts : 3.2.4
Cordova Platforms : android 7.1.4
Ionic Framework : ionic-angular 3.9.9
System:
Android SDK Tools : 26.1.1
Node : v8.11.3
npm : 6.11.3
OS : Windows 10
Environment Variables:
ANDROID_HOME : C:\Users\Bg21562\AppData\Local\Android\SDK
Misc:
backend : pro
Gradle 版本位于多个位置,事实证明。
为了解决这个问题,我在以下位置找到了 distributionUrl 作为变量:
platforms\android\cordova\lib\builders\StudioBuilder.js
和 platforms\android\cordova\lib\builders\GradleBuilder.js
这两个文件都包含
var distributionUrl = process.env['CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL'] || 'http\://services.gradle.org/distributions/gradle-4.1-all.zip';
当然需要替换为 6.1.1-all.zip
确保同时将 gradle-wrapper.properties 文件替换为 6.1.1 gradle 版本。
我还找到了一个选项,可以将 CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL 的导出变量添加到 bash 配置文件中:
export CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL=http\://services.gradle.org/distributions/gradle-6.1.1-all.zip
在此处找到的最佳答案:
我已将 Gradle distributionUrl 从 gradle-4.1-[ 更新为 https://services.gradle.org/distributions/gradle-6.1.1-all.zip =34=],但是当我 运行 ionic cordova run android
时,它会自行恢复为 4.1-all.zip 文件。这发生在终端到达的时候:
ANDROID_HOME=C:\Users\me\AppData\Local\Android\SDK
JAVA_HOME=C:\Program Files\Java\jdk1.8.0_181
studio
Subproject Path: CordovaLib
Subproject Path: app
然后导致
FAILURE: Build failed with an exception.
*Where:
Build file 'C:\Users\me\Desktop\....\platforms\android\CordovaLib\build.gradle' line 40
* What went wrong:
A problem occurred evaluating project':CordovaLib'.
> Failed to apply plugin [id 'com.android.internal.version-check']
> Minimum supported Gradle version is 6.1.1. Current version is 4.1...
本例中的第 40 行是 apply plugin: 'com.android.library'
我看到的问题是 Gradle 版本正在自行恢复到以前的版本。我怎样才能让它留在 6.1.1 版?我应该修复的 com.android.library
插件有问题吗?
我的 gradle 依赖项是:
classpath 'com.andorid.tools.build:gradle:4.0.1'
classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5'
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.7.3'
我的ionic info
:
cli packages: (C:\Users\bg21562\AppData\Roaming\npm\node_modules)
@ionic/cli-utils : 1.19.3
ionic (Ionic CLI) : 3.20.1
global packages:
cordova (Cordova CLI) : 9.0.0 (cordova-lib@9.0.1)
local packages:
@ionic/app-scripts : 3.2.4
Cordova Platforms : android 7.1.4
Ionic Framework : ionic-angular 3.9.9
System:
Android SDK Tools : 26.1.1
Node : v8.11.3
npm : 6.11.3
OS : Windows 10
Environment Variables:
ANDROID_HOME : C:\Users\Bg21562\AppData\Local\Android\SDK
Misc:
backend : pro
Gradle 版本位于多个位置,事实证明。
为了解决这个问题,我在以下位置找到了 distributionUrl 作为变量:
platforms\android\cordova\lib\builders\StudioBuilder.js
和 platforms\android\cordova\lib\builders\GradleBuilder.js
这两个文件都包含
var distributionUrl = process.env['CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL'] || 'http\://services.gradle.org/distributions/gradle-4.1-all.zip';
当然需要替换为 6.1.1-all.zip
确保同时将 gradle-wrapper.properties 文件替换为 6.1.1 gradle 版本。
我还找到了一个选项,可以将 CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL 的导出变量添加到 bash 配置文件中:
export CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL=http\://services.gradle.org/distributions/gradle-6.1.1-all.zip
在此处找到的最佳答案: