Flutter错误: uses-sdk:minSdkVersion 16 cannot be smaller than version 21 declared
前言
今天要做蓝牙通信的功能,我使用了flutter_reactive_ble这个库,但是在运行的时候发现一下错误
Launching lib/main.dart on AQM AL10 in debug mode...
/Users/macbook/Desktop/test/flutter/my_app/android/app/src/debug/AndroidManifest.xml Error:
uses-sdk:minSdkVersion
16
cannot be smaller than version
21
declared in library [:reactive_ble_mobile] /Users/macbook/Desktop/test/flutter/my_app/build/reactive_ble_mobile/intermediates/merged_manifest/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
21
,
or use tools:overrideLibrary=
"com.signify.hue.flutterreactiveble"
to force usage (may lead to runtime failures)
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed
for
task
':app:processDebugMainManifest'
.
> Manifest merger failed : uses-sdk:minSdkVersion
16
cannot be smaller than version
21
declared in library [:reactive_ble_mobile] /Users/macbook/Desktop/test/flutter/my_app/build/reactive_ble_mobile/intermediates/merged_manifest/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
21
,
or use tools:overrideLibrary=
"com.signify.hue.flutterreactiveble"
to force usage (may lead to runtime failures)
* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
* Get more help at https:
//help.gradle.org
BUILD FAILED in 4s
┌─ Flutter Fix ─────────────────────────────────────────────────────────────────────────────────┐
│ The plugin reactive_ble_mobile requires a higher Android SDK version. │
│ Fix
this
issue by adding the following to the file │
│ /Users/macbook/Desktop/test/flutter/my_app/android/app/build.gradle: │
│ android { │
│ defaultConfig { │
│ minSdkVersion
21
│
│ } │
│ } │
│ │
│ Note that your app won't be available to users running Android SDKs below
21
. │
│ Alternatively,
try
to find a version of
this
plugin that supports these lower versions of the │
│ Android SDK. │
│ For more information, see: │
│ https:
//docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration │
└───────────────────────────────────────────────────────────────────────────────────────────────┘
Exception: Gradle task assembleDebug failed with exit code
1
Exited
问题原因
自己项目的minSdkVersion
比三方SDK的的minSdkVersion
低,即版本不一致导致的。
解决办法
方法一
前往项目——>android——>app——>build.gradle文件搜索defaultConfig,将minSdkVersion修改成固定值即可
方法二
进入flutter环境安装目录/packages/flutter_tools/gradle(这里的flutter是环境变量中配置的flutter路径),搜索minSdkVersion,将值改为需求的版本即可(我这里改成21)