スポンサーリンク

アプリは Android 16(API レベル 36) 以降を対象とする必要があります。(Mac版)

Googleからそんなメールが来ました。

1年ほど更新のないスマホアプリなのでさらにとんでもなかったので記述します。

Flutter設定がどこにあるのかわからない

build.gradleにはflutter.compileSdk、flutter.targetSdkが割り当てられているが、その参照元がわからない。

FlutterSDKのバージョンにより定義元がコロコロ変わるようです。
さらにGlobal設定なのでプロジェクト毎には設定できない。

対処

build.gradleに直接ぶっ込みました。(作法的には、あまりよろしくないと思います)

android {
    compileSdk = 36
}

defaultConfig {
    targetSdk = 36
}

本当に上がったのか確認したい場合

bandletoolを使います。(brew版)

brew install bundletool
bundletool version

プロジェクトルートから実施

bundletool dump manifest \
        --bundle=build/app/outputs/bundle/release/app-release.aab \
        --module=base | grep targetSdkVersion

以下のようなレスポンスがあればOK。
<uses-sdk android:minSdkVersion=”21″ android:targetSdkVersion=”36″/>

「番外」FlutterSDKを上げちゃダメ

今回のグローバル設定はFlutterSDKに紐づくのであげれば勝手に上がるんじゃない?

最悪、破滅的破壊になるので、本当に必要な時以外はあげないようにしましょう。
ただし、将来的には絶対にあげる必要は出てくるので、その時は対応しましょう。