【Android Studio】Gradleとは?仕組みや構造を理解する

この記事からわかること
- Gradleとは?
- Android Studioとの関係性と役割
- build.gradleやsettings.gradleの使い方
- キャッシュを削除する方法
- Android Gradle Plugin(AGP)とは?
index
[open]
\ アプリをリリースしました /
環境
- Android Studio Koala: 2024.1.1 Patch 2
- Kotlin:1.8.20
この記事はGradleについて何もわかっていない筆者ができるだけ理解するために備忘録がわりとして記述した記事になります。まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。
Gradleとは
「Gradle(グレイドル)」はJava(JVM)環境におけるビルドプロセスを自動化するためのビルドツール。Android Studioではデフォルトのビルドツールとして組み込まれている。
Android Studioにおける代表的な役割は以下の通り。
1.ビルド自動化
Androidアプリケーションのビルドプロセスを自動化。ソースコードのコンパイル、リソースのパッケージング、テストの実行、APK(またはAAB)の生成などが可能。
2.依存関係の管理
外部ライブラリやモジュールを管理。build.gradleファイルに記述された依存関係をもとに、必要なライブラリを自動的にダウンロードし、ビルドに組み込む。
3.ビルド設定のカスタマイズ
ビルド設定を詳細にカスタマイズできる。ビルドタイプ(例: デバッグ、リリース)の設定、フレーバーの定義の設定など。
ファイル群
プロジェクトを作成するとGradleに関わるファイルがいくつか作成される。記述する言語は「Groovy」というスクリプト言語。JavaやKotlinのコードでも記述は可能。
build.gradle
「build.gradle」はGradleビルドツールでのビルドプロセスや依存関係を管理するための設定ファイル。root
直下とアプリモジュール(app
)配下に1つずつ存在する。
root直下のbuild.gradle
- プロジェクト全体に適用される設定や共通の依存関係を定義
- マルチプロジェクトビルドの場合にサブプロジェクトの設定や依存関係を管理
- 依存関係を解決するためのリポジトリ(例:Maven Central、Google Maven Repositoryなど)の設定
・plugins
:ビルドスクリプトで使用するプラグインの定義
・buildscript
:ビルドスクリプトが依存するクラスパスやリポジトリを設定
・allprojects
:すべてのサブプロジェクトで共通して使用するリポジトリを指定
※Android Gradle Plugin(AGP)について後述
app配下のbuild.gradle
- モジュール単位に適用される設定や依存関係を定義
- ビルドタイプやフレーバーの設定
・plugins
:プロジェクトで使用するプラグインを指定
・android
:Androidビルド設定を定義
・dependencies
:プロジェクトが依存するライブラリやモジュールを定義
settings.gradle
「settings.gradle」はプロジェクトの構造と設定を定義するためのファイル。
- マルチプロジェクトビルドの場合にサブプロジェクトの設定
- プロジェクトの名前の設定
- カスタムプラグインや設定の登録
gradle.properties
「gradle.properties」はプロジェクトの構成情報を定義するためのプロパティファイル。
gradle-wrapper.properties
「gradle-wrapper.properties」はGradleのバージョン管理を行う設定ファイルです。今プロジェクトで適応されているGradleのバージョンもgradle-X.X-bin.zip
部分から確認することが可能です。
Gradleのバージョンを更新したい場合はこのファイルのgradle-8.0-bin.zip
部分をgradle-8.7-bin.zip
のように変更し「Sync Now」をクリックすることでも更新することが可能です。
compileSdk
やtargetSdk
を引き上げた場合に「Change Gradle version in Gradle wrapper to 8.7 and re-import project」のように表示されるのでこれをクリックすることで必要なバージョンに自動更新してくれますがgradle-8.7-bin.zip
が変更されているだけです。
Gradleのキャッシュを削除する
Gradleも使用しているとどんどんキャッシュが溜まっていく。キャッシュをクリアしたい場合はプロジェクトルートで以下のコマンドを実行すればOK。
参考文献
Gradle 日本語ドキュメント
AndroidStudioでGradleを使う際のメモ
Android studio の Gradleについて調べてみた
build.gradle.kts
Android Studioでプロジェクトを立ち上げる際にGradleビルドスクリプトを「Groovy DSL(Domain-Specific Language)」か「Kotlin DSL」かを選択できるようになっており、Kotlin DSLを選択した場合に「build.gradle.kts」になります。

公式からもKotlin DSLが推奨されており、メリットとして型安全性や補完機能、エラー検出などが挙げられます。
dependencies
の部分の表記方法も変わっており、libs.androidx.ui
などのエイリアスを使用して参照することができるようになっています。エイリアスの定義箇所は「gradle/libs.versions.toml
」などを確認することでバージョンなどを確認することが可能です。
Android Gradle Plugin(AGP)とは
「Android Gradle Plugin(AGP)」はGradleのプラグインの1つでビルド処理をAndroid用に最適化するもの。Gradle単体ではAndroidアプリのビルドはできないためAGPを組み合わせて使う。
要はGradleを利用してAndroidアプリとしてビルドを行うための機能を色々提供してくれているもの。
AGP の主な役割
- AndroidManifest.xmlなどの処理
- res(レイアウト, 画像, 文字列)の管理・最適化
- APK/AAB の生成 (assembleDebug, bundleRelease など)
- ProGuard / R8 によるコード圧縮・難読化
- マルチモジュールの管理 (:app, :library など)
AGPとGradleの関係
AGPとGradleの関係は密に関わり合っているため相互のバージョンのある程度依存関係がある。公式が対応一覧を示している通りでどちらかのバージョンを上げたい場合にはもう片方もあげる必要があるので注意。
プラグインバージョン | 最低限必要なGradleバージョン |
---|---|
8.9 | 8.11.1 |
8.8 | 8.10.2 |
8.7 | 8.9 |
8.6 | 8.7 |
8.5 | 8.7 |
8.4 | 8.6 |
8.3 | 8.4 |
8.2 | 8.2 |
8.1 | 8.0 |
8.0 | 8.0 |
7.4 | 7.5 |
まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。
ご覧いただきありがとうございました。