Estaba tratando de iniciar un proyecto de flutter para una aplicación que usa bluetooth para comunicarse. Para eso, estaba usando flutter blue .
Desafortunadamente, al intentar ejecutar (en un dispositivo Android) el primer ejemplo que creé, me encontré con el siguiente error:
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)
Si estuviera en Android Studio, sabría cómo mejorar Android minSdkVersion, pero en un proyecto de flutter (usando VSCode) estaba un poco perdido.
¿Es posible aumentar minSdkVersion con flutter y cómo?
fuente
android/
y no pude averiguar por mi vida cómo actualizar este minSdkVersion.Se puede cambiar el
minSdkVersion
en el archivoProject_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" }
fuente
Siga estos pasos para cambiar el
minSdkVersion
problema.Primero =>
YouProject_name/android/app/build.gradle
Second => defaultconfig {// puedes encontrarlo dentro
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 }
fuente
Si su aplicación requiere una versión mínima específica de la plataforma Android, puede especificar ese requisito de versión como configuración de nivel de API en el
build.gradle
archivo de la aplicación . Durante el proceso de compilación, estas configuraciones se combinan en el archivo de manifiesto de su aplicación. Especificar los requisitos del nivel de API garantiza que su aplicación solo se pueda instalar en dispositivos que ejecuten una versión compatible de la plataforma Android.Que tiene que hacer juego
minSdkVersion
en elbuild.gradle
archivo, ubicado en<app dir>/android/app
y establecer un valor en eldefaultConfig
bloque:Hay dos configuraciones de nivel de API disponibles:
minSdkVersion
- La versión mínima de la plataforma Android en la que se ejecutará la aplicación, especificada por el identificador de nivel de API de la plataforma.targetSdkVersion
- Especifica el nivel de API en el que la aplicación está diseñada para ejecutarse. En algunos casos, esto permite que la aplicación use elementos de manifiesto o comportamientos definidos en el nivel de API de destino, en lugar de limitarse a usar solo los definidos para el nivel mínimo de API.Para especificar los requisitos de nivel de API predeterminados en un
build.gradle
archivo, agregue una o más de las configuraciones anteriores aldefaultConfig {}
bloque, anidado dentro delandroid {}
bloque. También puede anular estos valores predeterminados para diferentes versiones de su aplicación agregando la configuración para construir tipos o sabores de productos. El siguientebuild.gradle
archivo especifica la configuraciónminSdkVersion
y lostargetSdkVersion
valores predeterminados en eldefaultConfig {}
bloque y se anulaminSdkVersion
para un tipo de producto.android { compileSdkVersion 29 ... defaultConfig { applicationId "com.app.yourapp” minSdkVersion 16 targetSdkVersion 29 versionCode flutterVersionCode.toInteger() versionName flutterVersionName } productFlavors { main { ... } afterLollipop { ... minSdkVersion 21 } } }
Para obtener más información, consulte la documentación del elemento de manifiesto uses-sdk-element y el documento de niveles de API .
fuente