Wiki_Flutter_Android_Management_Version - inoueshinichi/Wiki_Flutter GitHub Wiki
androidの適用バージョンの管理
参考
MinSdkVersion 16 エラー
uses-sdk:minSdkVersion 16 cannot be smaller than version 19 declared in library
- FireBaseなどのライブラリを導入した場合に, FlutterデフォルトのAndroidのMinSdkVersionが古すぎてエラーが発生する
解決方法
- android/app/build.grandleを編集する
- 2つの方法が存在する.
- 方法2.は, 他ライブラリ(e.g. preference_share etc.)での後方性互換で問題が発生するので方法1.を使う.
- 具体的には,
$ flutter build apk
コマンドを実行すると後方互換のエラーが発生する.
1. minSdkVersionをハードコーディングで編集
// android/app/build.gradle
defaultConfig {
// TODO: Specify your own unique Application ID (https://~)
applicationId "com.example.~" // アプリケーションID
// AndroidSDKの最低サポートバージョン (ここを編集)
minSdkVersion 23 // flutter.minSdkVersion
// AndroidSDKのターゲットバージョン
targetSdkVersion flutter.target.SdkVersion
// バージョンコード
versionCode flutterVersionCode.toInteger()
// バージョン名
versionName flutterVersionName
// Firebase用
multiDexEnabled true
}
2. local.properties経由で編集
- local.propertiesファイルに
k=v
形式でConfig値を設定
- android/app/build.gradleがlocal.propertiesファイルを読み込むので, 専用変数で, minSdkVersionを設定する
// local.properties
sdk.dir=/Users/inoueshinichi/Library/Android/sdk
flutter.sdk=/Users/inoueshinichi/Documents/flutter
flutter.buildMode=release
flutter.versionName=1.0.0
flutter.versionCode=1
flutter.minSdkVersion=23 // 追加
// android/app/build.grandle
defaultConfig {
// TODO: Specify your own unique Application ID (https://~)
applicationId "com.example.~" // アプリケーションID
// AndroidSDKの最低サポートバージョン (ここを編集)
minSdkVersion localProperties.getProperty('flutter.minSdkVersion') // flutter.minSdkVersion
// AndroidSDKのターゲットバージョン
targetSdkVersion flutter.target.SdkVersion
// バージョンコード
versionCode flutterVersionCode.toInteger()
// バージョン名
versionName flutterVersionName
// Firebase用
multiDexEnabled true
}