我正在尝试为一个使用蓝牙通信的应用程序启动一个颤振项目。我用的是颤振蓝。

不幸的是,当试图运行(在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),我有点迷失。

是否有可能增加minSdkVersion与颤振,以及如何?


当前回答

将您编译的sdk版本升级到29或更高

希望这对你有所帮助。

其他回答

    **android/local.properties**
flutter.versionCode=1
flutter.minSdkVersion=21
flutter.targetSdkVersion=30
flutter.compileSdkVersion=31

  **android/app/build.gradle**
minSdkVersion localProperties.getProperty('flutter.minSdkVersion').toInteger()

targetSdkVersion localProperties.getProperty('flutter.targetSdkVersion').toInteger()
versionCode flutterVersionCode.toInteger()
        versionName flutterVersionName

我发现解决这个问题的最好方法是通过改变颤振的设置,让它在未来的所有应用程序中都能全局执行。Gradle文件位于您的默认构建部分。如果你使用VSCode

转到此位置(或已安装颤振的位置) C: \ src \ flutter_tools \ gradle \ \颤振\包 拖动颤振。gradle文件到VSCode 更新最小值、编译和/或目标版本 保存

你可以找到文件夹颤振(在MAC或Linux)或在Windows,你可以在这里看https://stackoverflow.com/a/304447/8122500。 然后你可以跟随@francis-nduba-numbi的指导。

有两种类型可以改变

从颤振。Gradle(建议在这里更改为不指定的/将来的) 或者直接从构建。Gradle(不推荐)

使用新的Flutter项目(2.8.0),使用“Flutter样式”,您可以在本地更改最小sdk版本。属性(而不是编辑app/build。gradle文件)。

# android/local.properties

flutter.minSdkVersion=19

查看android/app/build。Gradle文件,你会看到这样的变量约束:

# android/app/build.gradle

android {

  defaultConfig {
    minSdkVersion flutter.minSdkVersion
    targetSdkVersion flutter.targetSdkVersion
    versionCode flutterVersionCode.toInteger()
    versionName flutterVersionName
  }
}

这里详细的解决MinSdk / MinSdk版本错误的方法,按照下面的步骤进行。

在android\local.properties中添加以下行

sdk.dir=
flutter.sdk=C:\\flutter
flutter.buildMode=debug
flutter.versionName=1.0.0
flutter.versionCode=1

flutter.minSdkVersion=21
flutter.targetSdkVersion=31
flutter.compileSdkVersion=31

删除现有的行,并将其粘贴到应用程序级别构建。gradle: android \ app \ build.gradle

       defaultConfig {
        applicationId "app-id"

        minSdkVersion localProperties.getProperty('flutter.minSdkVersion').toInteger()
        targetSdkVersion localProperties.getProperty('flutter.targetSdkVersion').toInteger()
        versionCode flutterVersionCode.toInteger()
        versionName flutterVersionName
}