【问题标题】:Flutter/Dart - FlutterFirebaseMessagingPlugin.java - Build fails with Exception "error: cannot find symbol"Flutter/Dart - FlutterFirebaseMessagingPlugin.java - 构建失败并出现异常“错误:找不到符号”
【发布时间】:2021-08-09 10:20:47
【问题描述】:

升级到 Null Safety sdk: ">=2.12.0 <3.0.0" 后,当我尝试在 Android Studio 中构建 Flutter 应用时遇到错误。

C:\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_messaging-9.1.4\android\src\main\java\io\flutter\plugins\firebase\messaging\FlutterFirebaseMessagingPlugin.java:20: error: cannot find symbol
    import com.google.firebase.iid.FirebaseInstanceId;
                                  ^
      symbol:   class FirebaseInstanceId
      location: package com.google.firebase.iid
    C:\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_messaging-9.1.4\android\src\main\java\io\flutter\plugins\firebase\messaging\FlutterFirebaseMessagingPlugin.java:21: error: cannot find symbol
    import com.google.firebase.iid.Metadata;
                                  ^
      symbol:   class Metadata
      location: package com.google.firebase.iid
    C:\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_messaging-9.1.4\android\src\main\java\io\flutter\plugins\firebase\messaging\FlutterFirebaseMessagingPlugin.java:152: error: cannot find symbol
                      : Metadata.getDefaultSenderId(FirebaseApp.getInstance());
                        ^
      symbol:   variable Metadata
      location: class FlutterFirebaseMessagingPlugin
    C:\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_messaging-9.1.4\android\src\main\java\io\flutter\plugins\firebase\messaging\FlutterFirebaseMessagingPlugin.java:153: error: cannot find symbol
              FirebaseInstanceId.getInstance().deleteToken(senderId, "*");
              ^
      symbol:   variable FirebaseInstanceId
      location: class FlutterFirebaseMessagingPlugin
    C:\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_messaging-9.1.4\android\src\main\java\io\flutter\plugins\firebase\messaging\FlutterFirebaseMessagingPlugin.java:165: error: cannot find symbol
                      : Metadata.getDefaultSenderId(FirebaseApp.getInstance());
                        ^
      symbol:   variable Metadata
      location: class FlutterFirebaseMessagingPlugin
    C:\flutter\.pub-cache\hosted\pub.dartlang.org\firebase_messaging-9.1.4\android\src\main\java\io\flutter\plugins\firebase\messaging\FlutterFirebaseMessagingPlugin.java:166: error: cannot find symbol
              String token = FirebaseInstanceId.getInstance().getToken(senderId, "*");
                             ^
      symbol:   variable FirebaseInstanceId
      location: class FlutterFirebaseMessagingPlugin

Android Studio 告诉我 FlutterFirebaseMessagingPlugin.java“找不到符号”。那么这是什么意思,我该如何解决它

【问题讨论】:

  • 你找到解决办法了吗?
  • 我尝试 fork & clone 该项目以更改 pubspec.yaml 中过时的依赖项。但这是我第一次,我不明白为什么“pub get”没有将插件下载到我的 Flutter 应用程序的外部库文件夹中。
  • 插件创建者/维护者刚刚将插件更新到veriosn 3.05。
  • 是的,我更新了它并且它有效。

标签: java flutter dart firebase-cloud-messaging


【解决方案1】:

将 pusbpec.yaml 中的 firebase_messaging 更新为支持 null-safety 的版本(例如:firebase_messaging: ^10.0.0,并调用 flutter pub get from 终端

【讨论】:

  • 我在 pubspec.yaml 中使用了最新的 fcm_config: 3.0.4,其中必须捆绑有 firebase_messaging-9.1.4。但我不知道如何升级它。
  • 当我做一个过时的 pub 时,我认为这是过时的传递依赖。但正如我所说,我不知道如何升级它; firebase_messaging *9.1.4 *9.1.4 *9.1.4 10.0.0 firebase_messaging_platform_interface *2.1.4 *2.1.4 *2.1.4 3.0.0 firebase_messaging_web *1.0.7 *1.0.7 *1.0.7 2.0.0跨度>
  • 我尝试分叉原始存储库并更新 pubspec.yaml 以包含新更新的 firebase 但“pub get”告诉我没有 pubspec.yaml
  • 似乎克隆存储库使我比 pubspec.yaml 存在的位置高了一级。知道如何将条目指向上一级吗?这是条目; fcm_config: git: url: "github.com/meghead/fcm_config.git"
  • 您是否尝试在项目 pubspec.yaml 中覆盖依赖项?
【解决方案2】:

首先,从 pub.dev 获取最新版本的 firebase 依赖项

运行命令:

flutter pub upgrade
flutter pub get
flutter clean

使缓存失效并重新启动

然后尝试运行应用程序

【讨论】:

    【解决方案3】:

    对我来说,问题是我在 app/gradle 文件中将 androidx 核心版本从 1.0.1 更新到了 1.5.0,但我没有在 resolutionStrategy 的项目级 gradle 文件中更新它

    它们应该是相同的。

    【讨论】:

      猜你喜欢
      • 2019-02-23
      • 2022-01-06
      • 2021-07-06
      • 2020-06-13
      • 2021-01-25
      • 2021-09-24
      • 1970-01-01
      • 1970-01-01
      • 2022-07-07
      相关资源
      最近更新 更多