1. ホーム
  2. android

[解決済み] flutterプロジェクトでAndroidのminSdkVersionを変更する方法

2022-04-13 01:34:45

質問

Bluetoothを使って通信するアプリのflutterプロジェクトを始めようとしていました。そのために、私は フラッターブルー .

残念ながら、最初に作成したサンプルを(Android端末で)実行しようとすると、次のようなエラーが発生しました。

FAILURE: Build failed with an exception.

  * What went wrong:
  Execution failed for task ':app:processDebugManifest'.
  > Manifest merger failed : uses-sdk:minSdkVersion 16 cannot be smaller than version 19 declared in library [:flutter_blue] /home/maldus/Projects/flutter/polmac/build/flutter_blue/intermediates/manifests/full/debug/AndroidManifest.xml as the library might be using APIs not available in 16
    Suggestion: use a compatible library with a minSdk of at most 16,
            or increase this project's minSdk version to at least 19,
            or use tools:overrideLibrary="com.pauldemarco.flutterblue" to force usage (may lead to runtime failures)

Android Studioであれば、AndroidのminSdkVersionを上げる方法がわかるのですが、flutterプロジェクト(VSCodeを使用)では、ちょっと迷うところでした。

flutterでminSdkVersionを上げることは可能でしょうか、またその方法は?

解決方法を教えてください。

minSdkVersionを増やすことは確かに可能ですが、それを見つけるのに時間がかかりすぎました。というのも、Google検索では、自分のプロジェクトで増やす方法ではなく、flutterがサポートすべきSdkの絶対最小バージョンについての議論が結果として得られることがほとんどだからです。

Android Studio のプロジェクトと同様に build.gradle ファイルを作成します。flutterプロジェクトでは、このファイルはパス ./android/app/build.gradle .

変更する必要のあるパラメータはもちろん minSdkVersion 16 を必要な値(この場合は19)に引き上げました。

defaultConfig {
    // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
    applicationId "com.example.projectname"
    minSdkVersion 19 //*** This is the part that needs to be changed, previously was 16
    targetSdkVersion 28
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}

今となっては当たり前のことですが、自分で理解するのに十分な時間がかかりました。