Androidアプリのチーム開発をするために、新規プロジェクトの雛形コードをGitHubにPush。
チームメンバがgit cloneして動作確認しようとしたところGradle project sync failedが発生してエラーに。
その時の原因と解決策です。
原因
原因は、Android Studioのバージョン違いによる、GradleおよびAndroid Gradle Pluginのバージョン違いでした。
最初にプロジェクトを作成してソースコードをpushした環境は、以前からAndroid Studioをインストール済みだったため、
- Android Studio: 3.1.2
- Android Gradle Plugin: 4.1.3
- Gradle: 6.0.2
一方、チームメンバーはAndroid Studio Arctic Fox (2020.3.1)だったため、デフォルトで同梱されているバージョンが以下となり、旧バージョンに対応していなかったためです。
- Android Gradle Plugin: 7.0.2
- Gradle: 7.0.2
ということで、Android Gradle PluginとGradleのバージョンを上げれば良さそう。
解決方法:Android Gradle PluginとGradleのバージョンアップ
プロジェクトで指定されるAndroid Gradle PluginおよびGradleのバージョンを上げます。
Gradleのバージョンを上げるには以下の2つの方法があります。
- Android StudioのUpdate通知に従ってアップデートする
- Android Studio > File > Project Structure > Projectからバージョンを上げる
今回は1の方法で解決しました。
2の方法については公式サイトのAndroid Gradle プラグインのリリースノート | Android デベロッパー | Android Developersに記載があります。
環境
- PC: MacBook Air 2020
- OS: macOS Big Sur 11.6
- Android Studio Arctic Fox | 2020.3.1
Android Gradle PluginとGradleのバージョンアップ手順
Android Studioでプロジェクトを開くと、右下にAndroid Gradle PluginのUpdateを促すポップアップが表示されます。この”upgraded”をクリック。
Android Gradle Plugin Upgrade Assistantというダイアログで、
現在のバージョン(current version)から、アップデートするバージョン(to version)が表示されます。
Android Studio Arctic Fox | 2020.3.1では7.0.2が安定版として標準搭載されています。
アップデートを実行するには右下の”Begin Upgrade”をクリック。
Android Studioの「Upgrade Assistant」タブで、2Run selected steps”をクリック。
10分ぐらい経つとアップデートが完了します。
Android Studio > File > Project Structure > Projectを確認すると、アップデートされていることが確認できます。めでたしめでたし。
これで万事解決…とはイカナイ
Gradleのバージョンをアップデートしたところビルドエラーが(汗
どうやらAndroid Gradle Plugin 7.0以上を動かすにはJava 11が必要とのこと。
解決方法:Android Studio Arctic Fox標準のJava11を利用する
先ほどの画面に出てくるGradle settingsをクリックし、Gradle JDKのプルダウンから、Android Studio java home version 11.0.11を選択します。
次に、build.gradleを、compileOptions を目的の Java バージョンに設定し、compileSdkVersion を 30 以上に設定します。
android {
compileSdkVersion 30
compileOptions {
sourceCompatibility JavaVersion.VERSION_11
targetCompatibility JavaVersion.VERSION_11
}
}
再ビルドしてみたら無事にBUILD SUCCESSFULの表示が!やったね。