当前位置: 首页 > 知识库问答 >
问题:

如何在Flatter项目中更改Android版本

松洛华
2023-03-14

我正试图为一个使用蓝牙通信的应用程序启动一个颤振项目。为此,我使用了颤振蓝。

不幸的是,当试图运行(在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,我会知道如何升级AndroidMinsdk版本,但在一个颤振项目(使用VSCode)上,我有点迷路了。

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

共有3个答案

颛孙铭
2023-03-14

颤振2.8或更高版本

build.gradle更新

更新到颤振2.8之前

android {
    compileSdkVersion 30

defaultConfig {
    applicationId "com.example.app"
    minSdkVersion 21
    targetSdkVersion 30
    versionCode flutterVersionCode.toInteger()
    versionName flutterVersionName
    multiDexEnabled true
}

更新到Flutter 2.8后:

android {
    compileSdkVersion flutter.compileSdkVersion

defaultConfig {
        applicationId "com.example.app"
        minSdkVersion flutter.minSdkVersion
        targetSdkVersion flutter.targetSdkVersion
        versionCode flutterVersionCode.toInteger()
        versionName flutterVersionName
    }

您应该从本地更改。属性以下说明:

  1. 首先进入Android系统-
android {
    compileSdkVersion localProperties.getProperty('flutter.compileSdkVersion').toInteger()

defaultConfig {
    minSdkVersion localProperties.getProperty('flutter.minSdkVersion').toInteger()
    targetSdkVersion localProperties.getProperty('flutter.targetSdkVersion').toInteger()
    versionCode flutterVersionCode.toInteger()
    versionName flutterVersionName
}
唐俊爽
2023-03-14

您可以在文件Project\u Name/android/app/build中更改minSdkVersion。gradle默认配置

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"
}
郑正文
2023-03-14

确实可以增加minSdkVersion,但我花了太多时间才找到它,因为谷歌搜索的结果大多是关于Flatter应该能够支持的绝对最低Sdk版本的讨论,而不是如何在您自己的项目中增加它。

像在Android Studio项目,你必须编辑build.gradle文件。在flutter项目中,它位于路径./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"
}

现在看起来很明显,但我花了足够长的时间自己去弄清楚。

 类似资料:
  • 将一个eclipse项目导入到Android Studio中,并将其保存到一个新文件夹中。将包名称和所有内容都改为新名称,但项目的名称仍然是旧项目的名称。 如何将指向的名称更改为其他名称?

  • 我试图为一个使用蓝牙进行通信的应用程序启动一个flutter项目。为此,我使用了flutter blue。 不幸的是,当尝试(在Android设备上)运行我创建的第一个示例时,遇到了以下错误: 如果我在Android Studio上,我会知道如何升级Android minSdkVersion,但在一个扑朔迷离的项目(使用VSCode)上,我有点迷失了。 是否有可能用颤振来增加最小Sdk版本,以及如

  • 问题内容: 我需要编写一个仅与Java 1.5兼容的项目。我已经安装了Java 1.6。是否存在某种形式的向后兼容性,以使Eclipse用1.5进行编译? 我必须安装Java 1.5才能在此处显示它吗?也许还有另一种方法? 问题答案: 单击添加库按钮。它使你的屏幕指向Java位置。 选择“ 目录 ”,在JRE主页旁边的按钮,然后指向已安装的文件夹位置。 即使只需要1.5个编译器项目,也可以通过在E

  • 我需要编写一个只与Java1.5兼容的项目。我已经安装了Java1.6。是否有某种形式的向后兼容性来让Eclipse用1.5编译? 我必须安装Java1.5才能在这里显示它吗?或者也许还有别的办法?

  • 我已经设置了一个回收器视图,每行都有文本视图和隐藏按钮。 如果用户单击该项,就会显示按钮。 如果用户单击其他项,则按钮将被隐藏。 再循环视图将位置发送到每个接口的活动,该活动更改其属性。 只要不滚动recyclerview,一切都能完美运行。 Layoutmanager.getchildat(职位) 现在,当项目超出视图时,用户滚动recyclerview,位置就会出错。每向下滚动一个用户单击的项

  • 我想在Android Studio更改项目名称。我在Stackoverflow上找到了一些答案,但它对我不起作用。请给我一些合适的解决方案。目前我正在使用Android Studio2.3。 始终感谢:)