Skip to content

Android App Crashes on Release Due to local notification #2573

@Zaini-android

Description

@Zaini-android

#Error is

/flutter (10206): [ERROR:flutter/runtime/dart_vm_initializer.cc(40)] Unhandled Exception: PlatformException(error, Missing type parameter., null, java.lang.RuntimeException: Missing type parameter.
E/flutter (10206): at com.google.gson.reflect.a.getSuperclassTypeParameter(Unknown Source:26)
E/flutter (10206): at com.google.gson.reflect.a.(SourceFile:2)
E/flutter (10206): at com.dexterous.flutterlocalnotifications.FlutterLocalNotificationsPlugin$1.(Unknown Source:0)
E/flutter (10206): at com.dexterous.flutterlocalnotifications.FlutterLocalNotificationsPlugin.loadScheduledNotifications(Unknown Source:25)
E/flutter (10206): at com.dexterous.flutterlocalnotifications.FlutterLocalNotificationsPlugin.saveScheduledNotification(Unknown Source:0)
E/flutter (10206): at com.dexterous.flutterlocalnotifications.FlutterLocalNotificationsPlugin.zonedScheduleNotification(Unknown Source:67)
E/flutter (10206): at com.dexterous.flutterlocalnotifications.FlutterLocalNotificationsPlugin.zonedSchedule(Unknown Source:25)
E/flutter (10206): at com.dexterous.flutterlocalnotifications.FlutterLocalNotificationsPlugin.onMethodCall(Unknown Source:379)
E/flutter (10206): at R1.v0.t(Unknown Source:20)
E/flutter (10206): at Ma.c.run(Unknown Source:63)
E/flutter (10206): at android.os.Handler.handleCallback(Handler.java:959)
E/flutter (10206): at android.os.Handler.dispatchMessage(Handler.java:100)
E/flutter (10206): at android.os.Looper.loopOnce(Looper.java:232)
E/flutter (10206): at android.os.Looper.loop(Looper.java:317)
E/flutter (10206): at android.app.ActivityThread.main(ActivityThread.java:8705)
E/flutter (10206): at java.lang.reflect.Method.invoke(Native Method)
E/flutter (10206): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:580)
E/flutter (10206): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:886)
E/flutter (10206): )
E/flutter (10206): #0 StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:646)
E/flutter (10206): #1 MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:334)
E/flutter (10206):
E/flutter (10206): #2 AndroidFlutterLocalNotificationsPlugin.zonedSchedule (package:flutter_local_notifications/src/platform_flutter_local_notifications.dart:211)
E/flutter (10206):
E/flutter (10206): #3 FlutterLocalNotificationsPlugin.zonedSchedule (package:flutter_local_notifications/src/flutter_local_notifications_plugin.dart:326)
E/flutter (10206):
E/flutter (10206):

Flutter Info:

[✓] Flutter (Channel stable, 3.27.4, on macOS 15.3.1 24D70 darwin-arm64, locale en-PK)
• Flutter version 3.27.4 on channel stable at /Users/macbookprom1/development/flutter
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision d8a9f9a52e (6 weeks ago), 2025-01-31 16:07:18 -0500
• Engine revision 82bd5b7209
• Dart version 3.6.2
• DevTools version 2.40.3

[✓] Android toolchain - develop for Android devices (Android SDK version 35.0.1)
• Android SDK at /Users/macbookprom1/Library/Android/sdk
• Platform android-35, build-tools 35.0.1
• Java binary at: /opt/homebrew/opt/openjdk@17/bin/java
• Java version OpenJDK Runtime Environment Homebrew (build 17.0.14+0)
• All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 16.2)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Build 16C5032a
• CocoaPods version 1.16.2

[✓] Chrome - develop for the web
• Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2024.2)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build 21.0.5+-13047016-b750.29)

[✓] VS Code (version 1.98.0)
• VS Code at /Applications/Visual Studio Code.app/Contents
• Flutter extension version 3.106.0

[✓] Connected device (4 available)
• sdk gphone64 arm64 (mobile) • emulator-5554 • android-arm64 • Android 15 (API 35) (emulator)
• macOS (desktop) • macos • darwin-arm64 • macOS 15.3.1 24D70 darwin-arm64
• Mac Designed for iPad (desktop) • mac-designed-for-ipad • darwin • macOS 15.3.1 24D70 darwin-arm64
• Chrome (web) • chrome • web-javascript • Google Chrome 134.0.6998.88

[✓] Network resources
• All expected network resources are available.

• No issues found!

My ProGuard File

Keep Fresco WebP support from being stripped

-dontwarn com.facebook.imagepipeline.nativecode.**

Keep Jitsi Meet SDK classes

-keep class com.facebook.imagepipeline.nativecode.** { ; }
-keep class org.jitsi.meet.
* { ; }
-keep class org.jitsi.meet.sdk.
* { *; }

Keep annotations related to ProGuard stripping

-keep,allowobfuscation @interface com.facebook.proguard.annotations.DoNotStrip
-keep @com.facebook.proguard.annotations.DoNotStrip class *
-keepclassmembers class * {
@com.facebook.proguard.annotations.DoNotStrip *;
}

Keep React Native modules

-keep class * implements com.facebook.react.bridge.JavaScriptModule { *; }
-keep class * implements com.facebook.react.bridge.NativeModule { *; }
-keepclassmembers,includedescriptorclasses class * { native ; }
-keepclassmembers class * { @com.facebook.react.uimanager.annotations.ReactProp ; }
-keepclassmembers class * { @com.facebook.react.uimanager.annotations.ReactPropGroup ; }

Keep Firebase & notification-related classes

-keep class com.google.firebase.messaging.** { ; }
-keep class com.google.firebase.iid.
* { ; }
-dontwarn com.google.firebase.
*
-dontwarn com.google.android.gms.**

Keep WorkManager (if using background notifications)

-keep class androidx.work.** { *; }

Flutter Local Notifications (keep all related classes)

-keep class com.dexterous.** { *; }

Prevent removing reflection-based calls

-keepattributes Annotation

Keep ProGuard from stripping TypeAdapter-related classes

-keep class * extends com.google.gson.TypeAdapter
-keep class * implements com.google.gson.JsonSerializer
-keep class * implements com.google.gson.JsonDeserializer

Prevent stripping of R8 leaving Data object members null

-keepclassmembers,allowobfuscation class * {
@com.google.gson.annotations.SerializedName ;
}

Keep Hermes (if using Hermes engine)

-keep class com.facebook.jni.** { *; }

Keep okio

-keep class sun.misc.Unsafe { ; }
-dontwarn java.nio.file.

-dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement
-dontwarn okio.**

Keep Yoga (for React Native layout)

-keep,allowobfuscation @interface com.facebook.yoga.annotations.DoNotStrip
-keep @com.facebook.yoga.annotations.DoNotStrip class *
-keepclassmembers class * {
@com.facebook.yoga.annotations.DoNotStrip *;
}

WebRTC

-keep class org.webrtc.** { *; }
-dontwarn org.chromium.build.BuildHooksAndroid

SVG Support

-keep public class com.horcrux.svg.** { *; }

Fix Fresco Image Pipeline Issue

-keep public class com.facebook.imageutils.** {
public *;
}

My android/build.gradle

buildTypes {
release {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.debug
}
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions