[Bug]: App crashes on Android when minifyEnabled true
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.0Platforms 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.JsonDeserializerIf there's more information you'd like me to check please let me know.
Source: ionic-team/capacitor