Closed5
【Android】build.gradle周りなどで気になった点のメモ
はじめに
Androidアプリの、古いプロジェクトの開発環境を更新する必要が発生しました。
設定周りで理解できていない点が多々ありましたので、メモしていきたいと思います。
Android開発環境
項目 | 更新前バージョン | 更新後バージョン |
---|---|---|
Android Studio | 3.1.4 | 2021.3.1 |
Gradle | 3.5 | 7.4 |
Android Gradle Plugin Version | 2.2.0 | 7.3.1 |
「Gradle Version」 と 「Android Gradle Plugin Version」とは?
似たようなバージョンが2つあるが、それぞれの違いはなんなのか。
-
各バージョンの違い
バージョン 概要 Gradle version ビルドシステムである、Gradle自体のバージョン Android Gradle Plugin Version GradleをAndroidStudioで利用するための、プラグインのバージョン
-
各バージョンの確認方法
2つの確認方法があります。-
- AndroidStudioの、 [File] > [Project Structure] > [Project] を選択して確認
- AndroidStudioの、 [File] > [Project Structure] > [Project] を選択して確認
-
- 「gradle-wrapper.properties」と「アプリレベル: build.gradle」ファイルで確認
// Gradleバージョンを、「gradle-wrapper.properties」ファイルで確認 distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-bin.zip <= こちら // Android Gradle Plugin バージョンを、「アプリレベル: build.gradle」ファイルで確認 buildscript { ... dependencies { classpath 'com.android.tools.build:gradle:7.3.1' <= こちら } }
-
参考URL
依存関係を宣言する際の、「compile」「implementation」「api」の違いは?
古いプロジェクトだとまだ「compile」を利用しているが、いつから非推奨になったのか。
また、それぞれの違いは何なのか。
-
「compile」指定の例
モジュールレベルの build.gradle ファイルを開いた際の、以下指定のこと。
dependencies {
compile 'com.android.support:appcompat-v7:+'
}
-
「compile」が非推奨になったのはいつか
Android Gradle Plugin 3.0.0 以降から非推奨になった模様
参考URL:Android Developers | 依存関係構成
-
「compile」「implementation」「api」の違いはなんなのか
項目 概要 compile 動作は「api」と同じ。ただし非推奨 implementation コンパイル時に、モジュールの依存関係の伝播をしない。ビルド時間が大幅に短縮される特徴がある api コンパイル時に、モジュールの依存関係の伝播をする
サポートライブラリとは何か?AndroidXとの違いは?
build.gradleにサポートライブラリの宣言を追加しているが、サポートライブラリとは何なのか。
dependencies {
implementation 'com.android.support:appcompat-v7:+'
}
-
サポートライブラリ とは
- 新しいAPIレベルで追加されたクラスや機能を、古いバージョンでも使えるようにしてくれるためのライブラリ。その他、便利なクラスや機能が含まれている。
※複数バージョンをサポートするアプリ開発で、有効なライブラリという認識。
- 新しいAPIレベルで追加されたクラスや機能を、古いバージョンでも使えるようにしてくれるためのライブラリ。その他、便利なクラスや機能が含まれている。
-
AnroidX(アンロイドエックス)とは
- Android9(APIレベル28)のリリース移行に導入された、新しいサポートライブラリ。
現在はAndroidXの利用が推奨されている。
- Android9(APIレベル28)のリリース移行に導入された、新しいサポートライブラリ。
参考URL
クローズし忘れていました。
環境更新自体は完了しているため、一旦クローズします。
このスクラップは2023/01/02にクローズされました