web-dev-qa-db-ja.com

Android Studio: "デフォルトのgradleラッパーを使用" vs. "カスタマイズ可能なgradleラッパーを使用"

Android StudioのGradleオプションの違いは何ですか:

_Android Studio->Preferences->Gradle_

Use default gradle wrapper (recommended)および_Use customizable gradle wrapper_?

バックグラウンド:

私はAndroid Android StudioでGradleラッパーを使用するプロジェクトに取り組んでいます。

ただし、チームメンバーがguiコマンドを使用してAndroid Studioプロジェクトを同期するたびにAndroid Studio設定「カスタマイズ可能なgradlewラッパーを使用」を使用する場合:

enter image description here

彼らは_gradle/wrapper/gradle-wrapper.properties_日付が更新されていることを発見します(そしてgitリポジトリに余分な差分をもたらします)。

「デフォルトのgradleラッパーを使用する」に切り替えると、この問題を解決できるようです。

50
ZenBalance

IntelliJ IDEA help here :を参照してください。

  • デフォルトのgradleラッパーを使用することは、Gradleがバージョン番号を制御することを意味します
  • カスタマイズ可能なgradleラッパーを使用すると、IDEAがgradleラッパーのバージョン番号を制御します。

バージョン番号はgradle/wrapper/gradle-wrapper.propertiesに保存されます。したがって、IDEAでプロジェクトを開くたびに「カスタマイズ可能なgradleラッパーを使用する」を選択すると、プロパティファイルが変更され、IDEAプロジェクトで指定したラッパーバージョンが調整されます。

繰り返し可能なビルドのために(IDEAを実行しない連続ビルドサーバーでも)、Gradleにバージョン番号を制御させ、デフォルトのgradleラッパーを使用させます。

build.gradle内でGradleが使用するバージョン番号を設定できます

// needs at least Gradle V1.7
wrapper {
    gradleVersion = '2.2.1'
}

または

// works with every Gradle version
task wrapper(type: Wrapper) {
    gradleVersion = '2.2.1'
}

注:この設定はラッパーの生成にのみ使用されることを忘れないでください。有効にするには、gradlew wrapperで生成を実行する必要があります。このタスクは、gradle-wrapper.propertiesを更新します。これは、後ですべてのラッパーの実行に使用されます。

45
ChrLipp