web-dev-qa-db-ja.com

flutterプロジェクトでAndroid minSdkVersionを変更する方法

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

残念ながら、(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 St​​udioを使用していた場合、Android minSdkVersionを強化する方法を知っていましたが、フラッタープロジェクト(VSCodeを使用)では少し迷子になりました。

フラッターでminSdkVersionを増やすことは可能ですか?

17
Maldus

実際にminSdkVersionを増やすことは可能ですが、Google検索ではほとんどの場合、Sdkバージョンの絶対フラッターがサポートできるはずであり、自分のプロジェクトでそれを増やす方法について議論するため、それを見つけるのに時間がかかりすぎました。

Android St​​udioプロジェクトのように、build.gradleファイルを編集する必要があります。フラッタープロジェクトでは、パス./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"
}

今では明らかなように思えますが、私自身でそれを理解するのに十分な時間がかかりました。

34
Maldus

Project_Name/Android/app/build.gradleのdefaultSconfigのminSdkVersionを変更できます:

defaultConfig {
    // TODO: Specify your own unique Application ID (https://developer.Android.com/studio/build/application-id.html).
    applicationId "com.example.projectname"
    minSdkVersion 16 // <--- There
    targetSdkVersion 27
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "Android.support.test.runner.AndroidJUnitRunner"
}
3
Roger Cuesta