FlutterFirebaseCorePlugin.java 使用或覆盖已弃用的 API

FlutterFirebaseCorePlugin.java uses or overrides a deprecated API

好的,所以我 运行 我的程序没有导入 firebase 核心、firebase auth 和 cloud firestore,我的代码 运行 很好,但我用 firebase 注册了我的应用程序,它仍然 运行 很好,但是一旦我导入 Firebase_authFirebase_corecloud_Firestore... 我就会收到以下错误

Note: C:\appflutter\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_core-0.7.0\android\src\main\java\io\flutter\plugins\firebase\core\FlutterFirebaseCorePlugin.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: C:\appflutter\flutter\.pub-cache\hosted\pub.dartlang.org\cloud_firestore-0.16.0\android\src\main\java\io\flutter\plugins\firebase\firestore\streamhandler\TransactionStreamHandler.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
D8: Cannot fit requested classes in a single dex file (# methods: 89543 > 65536)
com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives: 
The number of method references in a .dex file cannot exceed 64K.

请帮帮我

我今天遇到了同样的问题,我在 Github

上找到了解决方案 here

首先,从 pub.dev

获取最新版本的依赖项

当前的最新版本是:

  1. firebase_auth: ^0.20.0+1
  2. firebase_core: ^0.7.0

然后运行终端中的这3条命令:

$ flutter pub upgrade

$ flutter pub get

$ flutter clean

然后运行你的项目

$ flutter run

希望这对您有所帮助。

$ flutter pub get

只需在您的终端中执行即可

在 android 项目和 运行 中再次启用 multidex。 我是根据您发布的错误消息的最后一部分提出的建议。

根据本指南:https://firebase.flutter.dev/docs/installation/android#enabling-multidex

However, if your minSdkVersion is set to 20 or lower, then you must use the multidex support library and make the following modifications to your app project

似乎是 Firebase 插件中的错误:https://github.com/FirebaseExtended/flutterfire/issues/3876。但是,将 min SDK 设置为 23 不会显示警告。

这里有两个问题,-Xlint 和 multidex。

对于 -Xlint,@Sarib 的解决方案对我有用并且 -Xlint 错误在 运行 flutter pub upgradeflutter pub getflutter clean。如果您不熟悉终端,可以在 Android Studio 的“工具”>“Flutter”下找到它们。

对于multidex,根据Android工作室User Guide, multidex is enabled by default if your minSdkVersion is 21 or higher. While @Joshi suggests enabling multidex,我认为更新[=25中的minSdkVersion更简单=].gradle 文件到 21 或更高版本,而不是弄乱更多变量并添加更多依赖项,假设您正在构建面向 Android21 或更高版本的应用程序。

对于此错误:

注意:locationInD\flutter\plugins\firebase\core\FlutterFirebaseCorePlugin.java 使用或覆盖已弃用的 API。 注意:使用 -Xlint:deprecation 重新编译以获得详细信息。

我找到的解决方案是替换 android/app/build 中的这一行。gradle:

implementation 'com.google.firebase:firebase-analytics-ktx'

implementation 'com.google.firebase:firebase-analytics'

对我来说,我更改了我的一个实现版本 实施平台('com.google.firebase:firebase-bom:27.1.0')到

实施平台('com.google.firebase:firebase-bom:26.6.0') 目前,当前版本“27.1.0”中存在一些错误,在 运行 应用程序运行

之后

//为了帮助某人,我的项目需要为我的广告实施此实施#admob

检查你的 minSDK,它适用于 23

在android-应用程序-build.gradel文件

  1. 在依赖部分
  2. 添加-实现'com.android.support:multidex:1.0.3'
  3. 在默认配置部分添加 - multiDexEnabled true enter image description here

enter image description here

遇到 FlutterFirebaseCorePlugin.java 使用或覆盖已弃用的 API 的错误。两天。 最后通过在 app/build.gradle 和 运行 中将 minSdkVersion 更改为 21 解决了这个问题 flutter 运行 --no-sound-null-safety.

发现错误来自于灰名单所有不兼容的声音空安全实现API

将我的 sdkVersion 更改为 23 对我有用:

只需转至 android>app>build.gradle 并 将 defaultConfig{} 中的 minSdkVersion 行更改为 .. minSdkVersion 23

更改为 minSdkVersion 24 在 android/app/build.gradle

dependencies {
//add this in your dependencies
    implementation "androidx.multidex:multidex:2.0.0"
}

然后

$ flutter clean
$ flutter run

我遇到了同样的问题并结合了两个建议的修复方法以使其最终起作用:

minSdkVersion21,改为23 运行 “颤动酒吧升级” = 问题已修复!

仔细检查修复的内容:

我也恢复到 21 并失效 + flutter clean,问题又出现了。然后我改成23,警告就消失了!