微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决FlutterFirebaseCorePlugin.java 使用或覆盖已弃用的 API

好的,所以我在没有导入 firebase core、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

希望对您有所帮助。

,

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

,
$ flutter pub get

只要在你的终端里做就行了

,

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

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

但是,如果您的 minSdkVersion 设置为 20 或更低,那么您必须使用 multidex 支持库并对您的应用项目进行以下修改

,

在android - app - build.gradel 文件中

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

enter image description here

,

将 sdkVersion 更改为 23 对我有用:

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

,

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

对于 -Xlint,@Sarib 的解决方案对我有用,运行 flutter pub upgradeflutter pub getflutter clean 后,-Xlint 错误都消失了。如果您不熟悉终端,您可以在 Android Studio 的 Tools > Flutter 下找到它们。

对于 multidex,根据 Android Studio User Guide,如果您的 minSdkVersion 为 21 或更高,则默认启用 multidex。虽然@Joshi 建议使用 enabling multidex,但我认为将 android/app/build.gradle 文件中的 minSdkVersion 更新为 21 或更高更简单,而不是混淆更多变量并添加更多依赖项,假设您'正在构建面向 Android21 或更高版本的应用。

,

对于这个错误:

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

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

using System.Web.Http; namespace Kronos.Web.Geolocalizacao.Controllers.Api { public class TestController : ApiController { [HttpGet] public TestModel Obtain() { return new TestModel { CODE_IDENTIFICATION = 1,DEFAULT_DESCRIPTION = "TEST DAT THING" }; } } public class TestModel { public decimal CODE_IDENTIFICATION { get; set; } public string DEFAULT_DESCRIPTION { get; set; } } }

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

,

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

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

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

,

遇到FlutterFirebaseCorePlugin.java 使用或覆盖已弃用的 API 的错误。两天。 最后通过在 app/build.gradle 中将 minSdkVersion 更改为 21 并使用 flutter run --no-sound-null-safety 运行应用程序来解决它。

发现错误来自于将所有不兼容的API灰名单的sound null安全实现

,

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

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

然后

$ flutter clean
$ flutter run
,

我遇到了同样的问题,并结合了两个建议的修复程序使其最终工作:

minSdkVersion 21,改为23 运行“flutter pub升级” = 问题已解决!

要仔细检查修复的内容:

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

,

检查您的 minSDK,它适用于 23

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。