添加 cloud_firebase 包后,我的 Flutter App 没有运行

Posted

技术标签:

【中文标题】添加 cloud_firebase 包后,我的 Flutter App 没有运行【英文标题】:My Flutter App is not running after adding cloud_firebase package 【发布时间】:2022-01-03 11:37:43 【问题描述】:

最近我在我的 Flutter 项目中添加了 Firebase。为了使用 firebase 数据库服务,我添加了 cloud_firebase 包。但是在添加这个包之后,我的应用程序没有运行并且给了我一个异常:

BUILD FAILED in 31s
The plugin cloud_firestore requires a higher android SDK version.
Fix this issue by adding the following to the file C:\Users\Jaguar\Desktop\AppDevelopment\acadmt\android\app\build.gradle:
android 
  defaultConfig 
    minSdkVersion 19
  

Note that your app won't be available to users running Android SDKs below 19.
Alternatively, try to find a version of this plugin that supports these lower versions of the Android SDK.
Exception: Gradle task assembleDebug failed with exit code 1

异常消息还暗示了以下建议

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="io.flutter.plugins.firebase.firestore" to force usage (may lead to runtime failures)

我已经尝试了前两个建议,但应用程序仍然无法运行。

【问题讨论】:

【参考方案1】:

将 minSdkVersion 改为 21 后即可使用。

defaultConfig 
        minSdkVersion 21
        targetSdkVersion 30
        versionCode flutterVersionCode.toInteger()
        versionName flutterVersionName
    

【讨论】:

【参考方案2】:

以前的答案也是正确的。我只是使用了另一种方法。

    首先在local.properties文件中添加flutter.compileSdkVersion=21

    然后在app\build.gradle中添加这段代码

def flutterMinSdkVersion = localProperties.getProperty('flutter.minSdkVersion')
if (flutterMinSdkVersion == null) 
    flutterMinSdkVersion = '21'


    在此之后确保将 minSdkVersion 添加到 app\build.gradle 内的 defaultConfig
    defaultConfig 
        applicationId "com.example.test"
        minSdkVersion flutterMinSdkVersion.toInteger()
        targetSdkVersion flutter.targetSdkVersion
        versionCode flutterVersionCode.toInteger()
        versionName flutterVersionName
        multiDexEnabled true

    

【讨论】:

非常感谢为我工作。【参考方案3】:

您可能无法在编辑 minSdkVersion 后应用更改

解决这个问题:

1-打开 build.gradle 文件并编辑它:

android 
  defaultConfig 
    minSdkVersion 19
  

然后在 android studio 的右侧,确保选择 open for editing in android studio 以应用更改并同步 gradle 以进行新更改。

2-清理(文件>使缓存无效/重新启动)

【讨论】:

在此之后我仍然收到以下消息的错误:[!] 收缩器可能无法优化 Java 字节码。要禁用收缩器,请将 --no-shrink 标志传递给此命令。要了解更多信息,请参阅:developer.android.com/studio/build/shrink-code 异常:Gradle 任务 assembleDebug 失败,退出代码为 1 好吧。它在将版本更改为 21 而不是 19 后工作。【参考方案4】:
android 
  defaultConfig 
    minSdkVersion 21
    targetSdkVersion 30
  

结果:以可靠的零安全性运行?

【讨论】:

【参考方案5】:

去这条路:

C:\Users\Jaguar\Desktop\AppDevelopment\acadmt\android\app\build.gradle

android 
  defaultConfig 
    minSdkVersion 19
  

将 minSdkVersion 更改为 30

即:

android 
  defaultConfig 
    minSdkVersion 30
  

【讨论】:

它在minSdkVersion 21 下运行得很好,将其更改为 30 会排除大量安卓用户

以上是关于添加 cloud_firebase 包后,我的 Flutter App 没有运行的主要内容,如果未能解决你的问题,请参考以下文章

Unity打Android包不卡,但是在打IOS包后卡

在 pubspec.yaml 中添加 Google Maps 包后,Flutter iOS 应用程序将无法构建

添加某些 nuget 包后,Biztalk 2020 构建失败并出现 AddBizTalkHiddenReferences

添加 Barcode_Scan 包后 Flutter 应用程序无法构建

React-Native添加依赖包后出现Native module cannot be null!的解决办法

为啥我的Java应用程序每次编译完数据库包后都需要重启?