From f6b956c984f844bbfec5a541927ba83a4be6525a Mon Sep 17 00:00:00 2001 From: muzahidul-opti Date: Wed, 8 Oct 2025 22:39:53 +0600 Subject: [PATCH 1/4] build: update minifyEnabled setting in release build - Change minifyEnabled from true to false in the release buildType - Update the ProGuard configuration to exclude javax.mail and javax.activation. classes --- android/build.gradle | 3 +-- android/proguard-rules.txt | 6 ++++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/android/build.gradle b/android/build.gradle index c33dcee..9ca563b 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -59,8 +59,7 @@ android { buildTypes { release { - minifyEnabled true - proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + minifyEnabled false } } diff --git a/android/proguard-rules.txt b/android/proguard-rules.txt index 1564ced..e9d6827 100644 --- a/android/proguard-rules.txt +++ b/android/proguard-rules.txt @@ -12,4 +12,10 @@ -keep class com.fasterxml.jackson.** {*;} # Logback -keep class ch.qos.** { *; } + +# Mail classes (Logback SMTP appender) +-dontwarn javax.mail.** +-dontwarn javax.mail.internet.** +-dontwarn javax.activation.** + ##---------------End: proguard configuration ---------- From ff49c41656006b2cd501966b5720d062851b2ef7 Mon Sep 17 00:00:00 2001 From: muzahidul-opti Date: Wed, 8 Oct 2025 23:55:44 +0600 Subject: [PATCH 2/4] chore: update ProGuard rules - Keep necessary classes for Optimizely and Jackson libraries - Keep Logback classes - Remove unnecessary warnings for javax.mail classes - Add ProGuard configuration to build.gradle for minification - Update proguard-rules.txt in app folder --- android/proguard-rules.txt | 5 ----- example/android/app/build.gradle | 2 ++ example/android/app/proguard-rules.txt | 4 ++++ 3 files changed, 6 insertions(+), 5 deletions(-) create mode 100644 example/android/app/proguard-rules.txt diff --git a/android/proguard-rules.txt b/android/proguard-rules.txt index e9d6827..c2646de 100644 --- a/android/proguard-rules.txt +++ b/android/proguard-rules.txt @@ -13,9 +13,4 @@ # Logback -keep class ch.qos.** { *; } -# Mail classes (Logback SMTP appender) --dontwarn javax.mail.** --dontwarn javax.mail.internet.** --dontwarn javax.activation.** - ##---------------End: proguard configuration ---------- diff --git a/example/android/app/build.gradle b/example/android/app/build.gradle index bd22a12..4790325 100644 --- a/example/android/app/build.gradle +++ b/example/android/app/build.gradle @@ -49,6 +49,8 @@ android { release { // TODO: Add your own signing config for the release build. // Signing with the debug keys for now, so `flutter run --release` works. + minifyEnabled true + proguardFiles 'proguard-rules.txt' signingConfig signingConfigs.debug } } diff --git a/example/android/app/proguard-rules.txt b/example/android/app/proguard-rules.txt new file mode 100644 index 0000000..76448a1 --- /dev/null +++ b/example/android/app/proguard-rules.txt @@ -0,0 +1,4 @@ +# Mail classes (Logback SMTP appender) +-dontwarn javax.mail.** +-dontwarn javax.mail.internet.** +-dontwarn javax.activation.** From 16c83ed0bcb23e84117380aa2d7864c121fdd113 Mon Sep 17 00:00:00 2001 From: muzahidul-opti Date: Thu, 9 Oct 2025 00:02:08 +0600 Subject: [PATCH 3/4] build: enable resource shrinking in release build - Add configuration to shrink resources for reducing APK size --- example/android/app/build.gradle | 1 + 1 file changed, 1 insertion(+) diff --git a/example/android/app/build.gradle b/example/android/app/build.gradle index 4790325..17a6dbe 100644 --- a/example/android/app/build.gradle +++ b/example/android/app/build.gradle @@ -50,6 +50,7 @@ android { // TODO: Add your own signing config for the release build. // Signing with the debug keys for now, so `flutter run --release` works. minifyEnabled true + shrinkResources true proguardFiles 'proguard-rules.txt' signingConfig signingConfigs.debug } From 3e9d91c193d4489e1150d81570e3690e592acdc5 Mon Sep 17 00:00:00 2001 From: muzahidul-opti Date: Thu, 9 Oct 2025 01:05:50 +0600 Subject: [PATCH 4/4] chore: update build configuration - Remove 'minifyEnabled' setting from release build type in android/build.gradle - Exclude javax.mail and javax.activation classes in proguard configuration - Delete deprecated mail classes warning in proguard-rules.txt --- android/build.gradle | 7 ------- android/proguard-rules.txt | 5 +++++ example/android/app/build.gradle | 3 --- example/android/app/proguard-rules.txt | 4 ---- 4 files changed, 5 insertions(+), 14 deletions(-) delete mode 100644 example/android/app/proguard-rules.txt diff --git a/android/build.gradle b/android/build.gradle index 9ca563b..7d1edec 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -56,13 +56,6 @@ android { packagingOptions { exclude 'androidsupportmultidexversion.txt' } - - buildTypes { - release { - minifyEnabled false - } - } - } dependencies { diff --git a/android/proguard-rules.txt b/android/proguard-rules.txt index c2646de..e9d6827 100644 --- a/android/proguard-rules.txt +++ b/android/proguard-rules.txt @@ -13,4 +13,9 @@ # Logback -keep class ch.qos.** { *; } +# Mail classes (Logback SMTP appender) +-dontwarn javax.mail.** +-dontwarn javax.mail.internet.** +-dontwarn javax.activation.** + ##---------------End: proguard configuration ---------- diff --git a/example/android/app/build.gradle b/example/android/app/build.gradle index 17a6dbe..bd22a12 100644 --- a/example/android/app/build.gradle +++ b/example/android/app/build.gradle @@ -49,9 +49,6 @@ android { release { // TODO: Add your own signing config for the release build. // Signing with the debug keys for now, so `flutter run --release` works. - minifyEnabled true - shrinkResources true - proguardFiles 'proguard-rules.txt' signingConfig signingConfigs.debug } } diff --git a/example/android/app/proguard-rules.txt b/example/android/app/proguard-rules.txt deleted file mode 100644 index 76448a1..0000000 --- a/example/android/app/proguard-rules.txt +++ /dev/null @@ -1,4 +0,0 @@ -# Mail classes (Logback SMTP appender) --dontwarn javax.mail.** --dontwarn javax.mail.internet.** --dontwarn javax.activation.**