Skip to content

[Bug]: App crashes on Android when minifyEnabled true#8587

Description

@HarelM

Capacitor Version

Capacitor Doctor 馃拪

Latest Dependencies:

@capacitor/cli: 8.5.1
@capacitor/core: 8.5.1
@capacitor/android: 8.5.1
@capacitor/ios: 8.5.1

Installed Dependencies:

@capacitor/cli: 8.5.1
@capacitor/android: 8.5.1
@capacitor/core: 8.5.1
@capacitor/ios: 8.5.1

[success] iOS looking great! 馃憣
[success] Android looking great! 馃憣

Other API Details

npm: 11.13.0
node: v24.16.0

Platforms Affected

  • iOS
  • Android
  • Web

Current Behavior

Plugins crashes on production builds when obfuscation is enabled, which is now required for feb 2027.

Expected Behavior

No crashes

Project Reproduction

https://github.com/IsraelHikingMap/Site/tree/main/IsraelHiking.Web

Additional Information

I've played around with it and the following rules have solved it:
For all related plugin that uses permissions:

-keep @interface com.getcapacitor.**

The following is needed for the camera plugin, let me know if you want me to open a different issue:

# The camera plugin carries its parameters and its results between the app and the editor as gson
# objects, and neither gson nor the ioncamera-android library that uses it ships rules of its own.
# Gson works over these classes by reflection: it needs the fields to still be there to fill them,
# the @SerializedName on each one to know which json key it answers to, and the generic signature
# of a TypeToken to know what it is building - none of which R8 can see is used. These are gson's
# own documented rules.
-keepattributes Signature
-dontwarn sun.misc.**
-keepclassmembers,allowobfuscation class * {
    @com.google.gson.annotations.SerializedName <fields>;
}
-keep,allowobfuscation,allowshrinking class com.google.gson.reflect.TypeToken
-keep,allowobfuscation,allowshrinking class * extends com.google.gson.reflect.TypeToken
-keep class * extends com.google.gson.TypeAdapter
-keep class * implements com.google.gson.TypeAdapterFactory
-keep class * implements com.google.gson.JsonSerializer
-keep class * implements com.google.gson.JsonDeserializer

If there's more information you'd like me to check please let me know.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions