Я пытался запустить проект флаттера для приложения, использующего Bluetooth для связи. Для этого я использовал синий флаттер .
К сожалению, при попытке запустить (на устройстве 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, но в проекте флаттера (с использованием VSCode) я немного потерялся.
Можно ли увеличить minSdkVersion с помощью флаттера и как?
источник
android/
и не мог понять, как обновить эту minSdkVersion.Вы можете изменить
minSdkVersion
в файлеProject_Name/android/app/build.gradle
,defaultconfig
: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" }
источник
Выполните следующие действия, чтобы
minSdkVersion
решить проблему.Первый =>
YouProject_name/android/app/build.gradle
Second => defaultconfig {// вы можете найти его внутри
build.gradle
}defaultConfig { // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). applicationId "com.umair.product_details_using_crud" minSdkVersion 16 // here you can change minSdkVersison targetSdkVersion 28 versionCode flutterVersionCode.toInteger() versionName flutterVersionName }
источник
Если вашему приложению требуется определенная минимальная версия платформы Android, вы можете указать эту версию в качестве настроек уровня API в
build.gradle
файле приложения . В процессе сборки эти настройки объединяются в файл манифеста вашего приложения. Указание требований уровня API гарантирует, что ваше приложение может быть установлено только на устройствах, на которых работает совместимая версия платформы Android.Вам нужно сделать набор
minSdkVersion
вbuild.gradle
файле, находящемся внутри,<app dir>/android/app
и установить значение вdefaultConfig
блоке:Доступны две настройки уровня API:
minSdkVersion
- Минимальная версия платформы Android, на которой будет работать приложение, определяется идентификатором уровня API платформы.targetSdkVersion
- Указывает уровень API, на котором приложение предназначено для работы. В некоторых случаях это позволяет приложению использовать элементы манифеста или поведения, определенные на целевом уровне API, а не ограничиваться использованием только тех, которые определены для минимального уровня API.Чтобы указать требования уровня API по умолчанию в
build.gradle
файле, добавьте один или несколько параметров выше вdefaultConfig {}
блок, вложенный внутриandroid {}
блока. Вы также можете переопределить эти значения по умолчанию для разных версий вашего приложения, добавив настройки для типов сборки или вкусов продуктов. В следующемbuild.gradle
файле указаны значения по умолчаниюminSdkVersion
иtargetSdkVersion
настройки вdefaultConfig {}
блоке и переопределенияminSdkVersion
для одного вкуса продукта.android { compileSdkVersion 29 ... defaultConfig { applicationId "com.app.yourapp” minSdkVersion 16 targetSdkVersion 29 versionCode flutterVersionCode.toInteger() versionName flutterVersionName } productFlavors { main { ... } afterLollipop { ... minSdkVersion 21 } } }
Для получения дополнительной информации см. Документацию по элементу манифеста uses-sdk- element и документ уровней API .
источник