Firebase Auth 上的 Flutter 编译错误:“必须返回非空值,因为返回类型“Never”不允许为 null。”

问题描述 投票:0回答:4

我正在使用 flutter fire 并且已经完成了控制台配置,但是每次我尝试使用 firebase_auth 导入运行代码时都会收到此错误。

/C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_auth_platform_interface-6.2.0/lib/src/method_channel/utils/exception.dart:12:7: Error: A non-null value must be returned since the return type 'Never' doesn't allow null.
firebase flutter
4个回答
10
投票

该错误消息是从 dart 2.16 添加的,即从 flutter 2.10 添加的,因此主要解决方案是升级您的 flutter 版本,这也会升级 dart 版本。

所以我最近在使用firebase_storage

时遇到了这个问题

我为解决问题所做的是......(我使用的是 flutter 2.5 和 dart 2.14)。

升级 flutter 和 dart 版本:进入终端,运行

flutter upgrade
或在我的情况下运行
flutter upgrade --force
,因为 flutter 升级给我带来了一些问题。 然后我将最新版本的依赖项添加到我的 pubspec (firebase_storage_10.2.0) 在此阶段,运行应用程序可能会抛出有关不支持的compileSDKVersion等错误,并要求您升级。 为此,请进入您的应用程序级别 build.gradle 文件

(“项目”ndroid pp uild.gradle),

在 android 下,将compileSDKVersion从当前值更改为flutter要求您更改的值。就我而言,是从 30 到 31

android{
       //change compile sdk version to 31 (in my case. flutter will tell you which version you should set to)
       compileSdkVersion 31
}

当您现在运行该应用程序时,它将检查您刚刚编辑的 Android SDK 包的许可证 (31)。它应该自动接受并安装所有必要的东西。 Flutter 运行可能会再次失败,并出现 kotlin 版本不兼容的错误,您应该更新等等。 要更新 kotlin 版本,请转到项目级别 build.gradle ("project"/android/build.gradle) 将此处的 kotlin 版本 (ext.kotlin_version = '1.3.5') 更改为最新版本,可以在 Here 找到。目前最新版本为1.6.10 所以这行代码现在读作

ext.kotlin_version = '1.6.10'

现在你可以走了。再次运行该应用程序,可能需要比平时更长的时间,但它应该可以正常工作。 或者至少对我来说效果很好。


5
投票

我也有同样的错误。 尝试升级dart版本或使用较低版本的firebase_auth。

  firebase_auth: 2.0.0

firebase_auth:2.0.0 对我有用。


5
投票

整体完整的解决方案。

解决方案:

第1步:

该错误的解决方案是升级到新的flutter版本。

打开命令提示符并运行此命令。

flutter upgrade

然后升级到新的 flutter 版本后。打开您的项目并在手机上测试它。

如果升级 kotlin 版本也显示错误,则: 第2步:

由于我们已经升级到新版本的 flutter,因此我们还必须在 build.gradle 中升级一些东西。

-> 转到 android/build.gradle

-> 更改为 ext.kotlin_version = '1.6.10'

例如,

在我的旧版本中,我有 ext.kotlin_version = '1.3.50',现在我将其更改为新的 ext.kotlin_version = '1.6.10' Please Check here the Example in Screenshot Image

现在今天日期是:01/3/2022

未来:如果您正在阅读此评论,那么版本号 ext.kotlin_version = '1.6.10' 可能会有所不同。

因此,要了解最新的版本号,请访问此网站:

https://kotlinlang.org/docs/gradle.html#plugin-and-versions

Here is the ScreenShot for Understanding

步骤:3

-> 转到 android/app/build.gradle

-> 将 minSdkVersion 更改为 19

-> 添加 multiDexEnabled true

例如, Check here the example Screenshot

现在您可以在手机上运行并测试该应用程序。它将发挥 100% 的作用。


0
投票

错误:必须返回非空值,因为返回类型“Never”不允许为空。我收到这个错误,我用这个命令解决了这个问题

**dart pub cache clean
dart pub get**
© www.soinside.com 2019 - 2024. All rights reserved.