web-dev-qa-db-ja.com

Android St​​udioで最新のgradleバージョンを使用する方法

Gradleには リリースバージョン2.12 があり、リリースノートによると、スクリプトは最大20%高速にコンパイルされるはずであることに気付きました。 Android St​​udioでそのバージョンにアップグレードしたいと思います。

V1.5.1を使用しており、[デフォルトのグラドルラッパーを使用]オプションを選択した設定で、すべてのプロジェクトにローカルグラドルインストールを使用する代わりに、特定のグラドルバージョンが各プロジェクトに使用されます。使用されるバージョンは、build.gradleファイルで定義されているものです。例:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.Android.tools.build:gradle:1.5.0'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

これをこれに変更すると:

classpath 'com.Android.tools.build:gradle:2.12'

Android St​​udioはそのバージョンを見つけることができず、エラーをスローします。どうやらASは最初にローカルキャッシュ(Android Studio/gradle/m2repository)でバイナリを見つけようとし、次にbintrayからダウンロードしようとします。

https://jcenter.bintray.com/com/Android/tools/build/gradle/2.12/gradle-2.12.jar

published builds を閲覧すると、ここで利用可能な最後のバージョンはv2.1.0-alpha1のようです。

  • V2.12がまだbintrayに含まれていないのはなぜですか? Android St​​udioと互換性がありませんか?
  • 互換性がある場合、ダウンロードしてプロジェクトごとにローカルインストールを使用する方法はありますか? (すでにバージョン管理されている古いプロジェクトを壊したくない)
27
Mister Smith

com.Android.tools.build:gradleは、gradle用のAndroidのプラグインです。 gradle配布とは異なります。 gradle Androidプラグインのリリース/バージョン情報については、こちらを参照してください: https://bintray.com/Android/android-tools/com.Android.tools.build.gradle/view

プラグインが使用するgradleバージョンを変更するには、ファイルを編集します。

<Project>/gradle/wrapper/gradle-wrapper.properties

そして、この行をあなたが望むgradle verisonに変更します:

distributionUrl=http\://services.gradle.org/distributions/gradle-2.12-all.Zip

次に、プロジェクトを再構築します。

使用しているAndroidプラグインバージョンは、この新しいgradleバージョンでテストされていない可能性があり、予期しない問題を引き起こす可能性があることに注意してください。


Android gradleプラグインとGradleバージョンの互換性(2020年8月時点)

Plugin version      Required Gradle version
--                  --
1.0.0 - 1.1.3       2.2.1 - 2.3
1.2.0 - 1.3.1       2.2.1 - 2.9
1.5.0               2.2.1 - 2.13
2.0.0 - 2.1.2       2.10 - 2.13
2.1.3 - 2.2.3       2.14.1+
2.3.0+              3.3+
3.0.0+              4.1+
3.1.0+              4.4+
3.2.0 - 3.2.1       4.6+
3.3.0 - 3.3.2       4.10.1+
3.4.0 - 3.4.1       5.1.1+
3.5.0               5.4.1+
33
RaGe

AS 2の場合

最新のプラグインは次のとおりです。

Download

classpath 'com.Android.tools.build:gradle:[INSERT LATEST HERE]'

AS 3の場合

リポジトリを更新してgoogle()を含める必要があります。また、そのためにgradle> 4.1が必要です。最新版は次のとおりです。

https://developer.Android.com/studio/releases/gradle-plugin.html

これを書いている時点では:

buildscript {
    repositories {
        // Gradle 4.1 and higher include support for Google's Maven repo using
        // the google() method. And you need to include this repo to download
        // Android plugin 3.0.0 or higher.
        google()
        ...
    }
    dependencies {
        classpath 'com.Android.tools.build:gradle:3.3.0'
    }
}
32
weston

上記に加えて(distibutionURLを変更して)私のために働いたのは、build.gradle(Modile:app)でクラスパスを2.0.0に保つことでした:

classpath 'com.Android.tools.build:gradle:2.0.0'

[ファイル]> [プロジェクト構造]> [プロジェクト]で、「Gradle version」を2.12に変更します。

[ファイル]> [設定]> [ビルド、実行、展開]> [ビルドツール]> [Gradle]:[プロジェクトレベルの設定]セクションには、2つのオプションがあります。

  1. デフォルトのgradleラッパーを使用(推奨)

  2. http://gradle.org/post-download-gradle/ からgradle-2.12-all.Zipをダウンロードしてから、「Use local gradle distibution」を選択し、「Gradle home:」、つまりC:/ Gradleをマップします/gradle-2.12

オプション2では、各gradleバージョンの更新をダウンロードする必要があります。

3
Mach1

これを試してください。-gradle-wrapper.propertiesの最新バージョンに従ってこのURLを変更してから、gradleを変更します。

   distributionUrl=https\://services.gradle.org/distributions/gradle-2.9-all.Zip

それがお役に立てば幸いです

2
Jagjit Singh

最新のグラドルラッパーを使用する場合は、デフォルトのグラドルラッパーを使用できません。設定に移動し、[カスタマイズ可能なグラドルラッパーを使用する]をオンにしてから、

Project/gradle/wrapper/gradle-wrapper.properties

distributionUrl

distributionUrl=https\://services.gradle.org/distributions/gradle-2.12-bin.Zip

Gradle Settings

2
cricket_007