Flutter Firebase Notification Messeging
Saya mencoba menerapkan firebase_messaging di aplikasi flutter saya. Pada Integrasi Android ketika saya menulis kode tingkat Aplikasi asli, saya mendapat kesalahan untuk kelas duplikat tetapi tidak tahu mengapa.
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: Jenis program sudah ada: com.project.my_project.Application com.android.builder.dexing.DexArchiveMergerException: Kesalahan saat menggabungkan arsip dex: Pelajari cara menyelesaikan masalah di https://developer.android.com/studio/build/dependencies#duplicate_classes. Jenis program sudah ada: com.project.my_project.Application di com.android.builder.dexing.D8DexArchiveMerger.getExceptionToRethrow (D8DexArchiveMerger.java:131) di com.android.builder.dexing.D8DexArchiveMerger.Archives.java di com.android.build.gradle.internal.transforms.DexMergerTransformCallable.call (DexMergerTransformCallable.java:102) di com.android.build.gradle.internal.tasks.DexMergingTaskRunnable.run (DexMergingTask.kt: 444) ...
- Apa yang salah: Eksekusi gagal untuk tugas ': app: mergeProjectDexDebug'.
Terjadi kegagalan saat menjalankan com.android.build.gradle.internal.tasks.Workers $ ActionFacade com.android.builder.dexing.DexArchiveMergerException: Kesalahan saat menggabungkan arsip dex: Pelajari cara menyelesaikan masalah di https://developer.android.com/studio/build/dependencies#duplicate_classes. Jenis program sudah ada: com.project.my_project.Application <
flutter doctor [✓] Flutter (Channel stable, 1.22.3, di Mac OS X 10.15.7 19H2, locale pt-BR) • Flutter versi 1.22.3 di / Users / developer / Documents / Documents / Development / flutter • Revisi framework 8874f21e79 (8 hari yang lalu), 2020-10-29 14:14:35 -0700 • Revisi engine a1440ca392 • Dart versi 2.10.3
[✓] Toolchain Android - kembangkan untuk perangkat Android (SDK Android versi 30.0.2) • SDK Android di / Users / developer / Library / Android / sdk • Platform android-30, build-tools 30.0.2 • Java binary di: / Aplikasi / Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java • Versi Java OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593) • Semua lisensi Android diterima.
[✓] Xcode - kembangkan untuk iOS dan macOS (Xcode 12.1) • Xcode di /Applications/Xcode.app/Contents/Developer • Xcode 12.1, Build versi 12A7403 • CocoaPods versi 1.10.0
[!] Android Studio (versi 4.1) • Android Studio di / Applications / Android Studio.app/Contents ✗ Plugin Flutter tidak diinstal; ini menambahkan fungsionalitas khusus Flutter. (Sekalipun tahu bahwa pemasangannya berfungsi) ✗ Plugin Dart tidak terpasang; ini menambahkan fungsionalitas khusus Dart. (Meskipun sudah terinstal dan berfungsi) • Versi Java OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)
[✓] VS Code (versi 1.50.1) • VS Code di / Applications / Visual Studio Code.app/Contents • Flutter extension versi 3.16.0
[✓] Perangkat yang terhubung (1 tersedia) • sdk gphone x86 arm (seluler) • emulator-5554 • android-x86 • Android 11 (API 30) (emulator)
Jawaban
Ini adalah contoh kerja dari proyek saya. Saya ingat pernah mengalami hal seperti itu. Saya menulis hanya untuk memberikan tanggapan cepat, tidak yakin apakah ini solusi yang tepat.
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");
}
}
Saya mengatasinya dengan mengambil pembaruan plugin flutter. tidak tahu apa yang terjadi.