☕
【Flutter】error: invalid source release: 17 を解決する
Flutter で Android アプリをビルドした際、ローカル環境ではビルドが成功するが、GitHub Actions 上ではビルドが失敗してしまうという現象が起きました。
エラーの内容は以下になります。
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':share_plus:compileReleaseJavaWithJavac'.
> error: invalid source release: 17
share_plus をコンパイルする際のビルド環境で Java 17 がサポートされていないことがエラーの原因でした。
ローカル環境の Java バージョンを確認してみると、Java 22がインストールされていました。
Java 17以上がインストールされているため、ローカル環境では問題なくビルドができているということになります。
% java -version
openjdk version "22" 2024-03-19
OpenJDK Runtime Environment (build 22+36-2370)
OpenJDK 64-Bit Server VM (build 22+36-2370, mixed mode, sharing)
GitHub Actions 上でも Java 17をインストールすることでビルドエラーを解決することができました。
以下は GitHub Actions Job の抜粋です。
actions/setup-java@v3
というテンプレートを利用して任意のバージョンの Java をインストールすることができます。
name: Build_Android
on:
pull_request:
branches: [ master ]
jobs:
build_Android:
name: Build for Android
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- name: Checks-out my repository
uses: actions/checkout@v4
- name: Setup JDK 17
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'temurin'
Discussion