web-dev-qa-db-ja.com

Cordova / Ionic build Android Gradleエラー:サポートされる最小のGradleバージョンは2.14.1です。現在のバージョンは2.13です

これは、上記のエラーの解決策です。他の同様の投稿を見つけましたが、このエラーがCordovaまたはIonicにどのように関連付けられるかについては説明していません。

注意しないと、Android Studioが使用するGradleのバージョンとCordova/cordova-Androidが自動生成アプリケーションコードで指定するGradleのバージョンとの間に不一致が生じる可能性があります。あなたが知っている、実行している

$ cordova platform add Android

(または $ ionic platform add Android、Ionic app)をビルドしている場合、-project/platforms/Androidでネイティブアプリケーションコードを作成します。

そのフォルダー内のファイル:/the-project/platforms/Android/cordova/lib/builders/GradleBuilder.jsは、以下に示すように変数をエクスポートします。

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 varで指定されたGradleのバージョンは、ビルドに使用されるバージョンです。

さて、ここからが難しい部分です。プロジェクトをAndroid Studioにインポートすると、以下に示すように、Gradleを新しいバージョンにアップグレードすることを強く推奨するメッセージが表示される可能性が高くなります。

enter image description here これを行うと、Android StudioはGradleの新しいバージョンをダウンロードしてローカルに保存し、新しくダウンロードされたローカルGradleディストリビューションを使用するようにプロジェクトを構成します。 「デフォルトグレードラッパーを使用する」を選択しました。これにより、エラーが発生するため、選択を解除しました。

enter image description here

Android StudioとCordovaは異なるバージョンのGradleでアプリケーションをビルドしようとするため、Android Studioととも

$ cordova build Android

コマンドラインで。 Cordovaアプリのソリューションは、Android Studioプロジェクトを[デフォルトのgradleラッパーを使用]に設定したままにし、アップグレードする魅力的なメッセージを無視することです。Gradleの新しいバージョンを使用する場合は、上記のファイルのdistributionUrl変数はいつでも変更できます(ただし、Cordovaはプラットフォームフォルダー内のコードを簡単に上書きできるため、コードの変更はお勧めしません)。これを書いている時点では、Gradleバージョンで

$ cordova platform add Android

ステップ、それはあなたがそれをしたいときですので、あなたは直接プロジェクト内のコードを変更することはありません

27
cnanders

私にとって、次のコマンドは問題を解決しました。

cordova platform remove Android

cordova platform add Android

ionic build Android
19
zhannett

これをコメントとして残したいのですが、どうやら評判が悪いようです...

ドキュメントを読んだ後、Android Studioを[デフォルトのgradleラッパーを使用]に保つことを提案して問題を解決できませんでした。見つけたのは、セッション変数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()
}

私はその時に構築することができました。

14
Bungler

私のionic 1プロジェクトで、デフォルトのgradleラッパーを使用する]に切り替えても機能しませんでしたが、実行中です

ionic platform remove Android
ionic platform add Android

私のために働いた

8
Chuck Holbrook

platform/Android/cordova/lib/builders/GradleBuilder.jsで値を変更できます

変更した値は、Android platform

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

または他のANSのような

export CORDOVA_Android_GRADLE_DISTRIBUTION_URL="https\://services.gradle.org/distributions/gradle-2.14.1-all.Zip"
5
Zam

問題を修正する別の方法は、Windowsでも機能します。

cordova build Android --release --CORDOVA_Android_GRADLE_DISTRIBUTION_URL=https\://services.gradle.org/distributions/gradle-2.14.1-all.Zip
4

@bunglerの回答を拡張したいと思います。

GradleのバージョンとAndroid gradleのプラグインの互換バージョン。次のリンクには互換バージョンのマッピングのリストがあります。

Gradle vs Android gradle用プラグイン-互換性のあるバージョンリスト

Gradleの現在のバージョン3.3 +、Androidプラグインの互換バージョンは) 2.3.3

したがって、最終的な設定は次のようになります。

Mac用

ステップ1:環境変数に以下を追加します。

オプションa)環境変数の更新:

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'
  }
}

これは私のために働いた。

2
Maverick09

フォローエラーの場合:

サポートされているGradleの最小バージョンは4.1です。現在のバージョンは3.3です。 gradleラッパーを使用している場合、E:\ ionic\MyIonicProject\gr adle\wrapper\gradle-wrapper.propertiesのdistributionUrlをgradle 4.1のgradle-4.1-all.Zipに編集してみてください

このコマンドは私のために働いた:

ionic cordova platform update Android
2
EmRa228

Chuck Holbrooksの回答に続いて、次の解決策でAndroid platformが既に追加されていると再度言ったときにエラーが発生します。

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 
0
Peter Edwards