Flutter Firebase 通知消息传递
Flutter Firebase Notification Messeging
我正在尝试在我的 flutter 应用程序中实现 firebase_messaging。在 Android 集成上,当我编写本机应用程序级代码时,出现重复错误 类 但不知道为什么。
import io.flutter.app.FlutterApplication;
import io.flutter.plugin.common.PluginRegistry;
import io.flutter.plugin.common.PluginRegistry.PluginRegistrantCallback;
import io.flutter.plugins.GeneratedPluginRegistrant;
import io.flutter.plugins.firebasemessaging.FlutterFirebaseMessagingService;
class Application: FlutterApplication(), PluginRegistrantCallback {
override fun onCreate() {
super.onCreate()
FlutterFirebaseMessagingService.setPluginRegistrant(this)
}
override fun registerWith(registry: PluginRegistry?) {
io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin.registerWith(registry?.registrarFor("io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin"));
}
}
D8: Program type already present: com.project.my_project.Application
com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives:
Learn how to resolve the issue at https://developer.android.com/studio/build/dependencies#duplicate_classes.
Program type already present: com.project.my_project.Application
at com.android.builder.dexing.D8DexArchiveMerger.getExceptionToRethrow(D8DexArchiveMerger.java:131)
at com.android.builder.dexing.D8DexArchiveMerger.mergeDexArchives(D8DexArchiveMerger.java:118)
at com.android.build.gradle.internal.transforms.DexMergerTransformCallable.call(DexMergerTransformCallable.java:102)
at com.android.build.gradle.internal.tasks.DexMergingTaskRunnable.run(DexMergingTask.kt:444)
...
- 出了什么问题:
任务“:app:mergeProjectDexDebug”执行失败。
A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade
com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives:
Learn how to resolve the issue at https://developer.android.com/studio/build/dependencies#duplicate_classes.
Program type already present: com.project.my_project.Application
<
扑博士
[✓] Flutter(频道稳定,1.22.3,在 Mac OS X 10.15.7 19H2,语言环境 pt-BR)
• Flutter 版本 1.22.3 在
/Users/developer/Documents/Documents/Development/flutter
• 框架修订版 8874f21e79(8 天前),2020-10-29 14:14:35 -0700
• 引擎版本 a1440ca392
• Dart 版本 2.10.3
[✓] Android 工具链 - 为 Android 设备开发(Android SDK 版本 30.0.2)
• Android SDK /Users/developer/Library/Android/sdk
• 平台 android-30,构建工具 30.0.2
• Java 二进制位于:/Applications/Android
工作室。app/Contents/jre/jdk/Contents/Home/bin/java
• Java 版本 OpenJDK 运行时环境(构建
1.8.0_242-release-1644-b3-6222593)
• 已接受所有 Android 个许可。
[✓] Xcode - 为 iOS 和 macOS 开发 (Xcode 12.1)
• Xcode 在 /Applications/Xcode.app/Contents/Developer
• Xcode 12.1,内部版本 12A7403
• CocoaPods 版本 1.10.0
[!] Android Studio(4.1 版)
• Android 工作室位于 /Applications/Android 工作室。app/Contents
✗ 未安装 Flutter 插件;这增加了特定于 Flutter 的功能。(甚至知道它已安装工作)
✗ 未安装 Dart 插件;这增加了 Dart 特定的功能。(甚至知道它已安装并正在运行)
• Java 版本 OpenJDK 运行时环境(构建
1.8.0_242-release-1644-b3-6222593)
[✓] VS 代码(版本 1.50.1)
• /Applications/Visual Studio Code 上的 VS Code。app/Contents
• Flutter 扩展版本 3.16.0
[✓] 已连接设备(可用 1 个)
• sdk gphone x86 arm(移动) • emulator-5554 • android-x86 • Android 11
(API 30) (模拟器)
这是我项目中的一个工作示例。我记得跌跌撞撞地遇到了类似的事情。我写信只是为了快速回复,不确定这是否是正确的解决方案。
import io.flutter.app.FlutterApplication;
import io.flutter.plugin.common.PluginRegistry;
import io.flutter.plugin.common.PluginRegistry.PluginRegistrantCallback;
// import io.flutter.plugins.GeneratedPluginRegistrant;
import io.flutter.plugins.firebasemessaging.FlutterFirebaseMessagingService;
public class Application extends FlutterApplication implements PluginRegistrantCallback {
@Override
public void onCreate() {
super.onCreate();
FlutterFirebaseMessagingService.setPluginRegistrant(this);
}
@Override
public void registerWith(PluginRegistry registry) {
registry.registrarFor("io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin");
}
}
我通过更新 flutter 插件解决了这个问题。不知道发生了什么。
我正在尝试在我的 flutter 应用程序中实现 firebase_messaging。在 Android 集成上,当我编写本机应用程序级代码时,出现重复错误 类 但不知道为什么。
import io.flutter.app.FlutterApplication;
import io.flutter.plugin.common.PluginRegistry;
import io.flutter.plugin.common.PluginRegistry.PluginRegistrantCallback;
import io.flutter.plugins.GeneratedPluginRegistrant;
import io.flutter.plugins.firebasemessaging.FlutterFirebaseMessagingService;
class Application: FlutterApplication(), PluginRegistrantCallback {
override fun onCreate() {
super.onCreate()
FlutterFirebaseMessagingService.setPluginRegistrant(this)
}
override fun registerWith(registry: PluginRegistry?) {
io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin.registerWith(registry?.registrarFor("io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin"));
}
}
D8: Program type already present: com.project.my_project.Application com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives: Learn how to resolve the issue at https://developer.android.com/studio/build/dependencies#duplicate_classes. Program type already present: com.project.my_project.Application at com.android.builder.dexing.D8DexArchiveMerger.getExceptionToRethrow(D8DexArchiveMerger.java:131) at com.android.builder.dexing.D8DexArchiveMerger.mergeDexArchives(D8DexArchiveMerger.java:118) at com.android.build.gradle.internal.transforms.DexMergerTransformCallable.call(DexMergerTransformCallable.java:102) at com.android.build.gradle.internal.tasks.DexMergingTaskRunnable.run(DexMergingTask.kt:444) ...
- 出了什么问题: 任务“:app:mergeProjectDexDebug”执行失败。
A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives: Learn how to resolve the issue at https://developer.android.com/studio/build/dependencies#duplicate_classes. Program type already present: com.project.my_project.Application <
扑博士 [✓] Flutter(频道稳定,1.22.3,在 Mac OS X 10.15.7 19H2,语言环境 pt-BR) • Flutter 版本 1.22.3 在 /Users/developer/Documents/Documents/Development/flutter • 框架修订版 8874f21e79(8 天前),2020-10-29 14:14:35 -0700 • 引擎版本 a1440ca392 • Dart 版本 2.10.3
[✓] Android 工具链 - 为 Android 设备开发(Android SDK 版本 30.0.2) • Android SDK /Users/developer/Library/Android/sdk • 平台 android-30,构建工具 30.0.2 • Java 二进制位于:/Applications/Android 工作室。app/Contents/jre/jdk/Contents/Home/bin/java • Java 版本 OpenJDK 运行时环境(构建 1.8.0_242-release-1644-b3-6222593) • 已接受所有 Android 个许可。
[✓] Xcode - 为 iOS 和 macOS 开发 (Xcode 12.1) • Xcode 在 /Applications/Xcode.app/Contents/Developer • Xcode 12.1,内部版本 12A7403 • CocoaPods 版本 1.10.0
[!] Android Studio(4.1 版) • Android 工作室位于 /Applications/Android 工作室。app/Contents ✗ 未安装 Flutter 插件;这增加了特定于 Flutter 的功能。(甚至知道它已安装工作) ✗ 未安装 Dart 插件;这增加了 Dart 特定的功能。(甚至知道它已安装并正在运行) • Java 版本 OpenJDK 运行时环境(构建 1.8.0_242-release-1644-b3-6222593)
[✓] VS 代码(版本 1.50.1) • /Applications/Visual Studio Code 上的 VS Code。app/Contents • Flutter 扩展版本 3.16.0
[✓] 已连接设备(可用 1 个) • sdk gphone x86 arm(移动) • emulator-5554 • android-x86 • Android 11 (API 30) (模拟器)
这是我项目中的一个工作示例。我记得跌跌撞撞地遇到了类似的事情。我写信只是为了快速回复,不确定这是否是正确的解决方案。
import io.flutter.app.FlutterApplication;
import io.flutter.plugin.common.PluginRegistry;
import io.flutter.plugin.common.PluginRegistry.PluginRegistrantCallback;
// import io.flutter.plugins.GeneratedPluginRegistrant;
import io.flutter.plugins.firebasemessaging.FlutterFirebaseMessagingService;
public class Application extends FlutterApplication implements PluginRegistrantCallback {
@Override
public void onCreate() {
super.onCreate();
FlutterFirebaseMessagingService.setPluginRegistrant(this);
}
@Override
public void registerWith(PluginRegistry registry) {
registry.registrarFor("io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin");
}
}
我通过更新 flutter 插件解决了这个问题。不知道发生了什么。