add R8 rules and set minifyEnabled true

This commit is contained in:
adbenitez 2025-11-02 00:23:58 +01:00
parent 51a9998848
commit 776c7d129d
3 changed files with 59 additions and 2 deletions

View file

@ -88,7 +88,9 @@ android {
buildTypes {
debug {
minifyEnabled false
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
testProguardFiles 'test-proguard-rules.pro'
applicationIdSuffix ".beta"
}
release {
@ -101,7 +103,9 @@ android {
//
// nb: it is highly recommended to use the same settings in debug+release -
// otherwise problems might be noticed delayed only
minifyEnabled false
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
testProguardFiles 'test-proguard-rules.pro'
signingConfig signingConfigs.release
}
}

15
proguard-rules.pro vendored Normal file
View file

@ -0,0 +1,15 @@
# native methods
-keep class com.b44t.messenger.** { * ; }
# Keep metadata needed by the JSON parser
-keep class chat.delta.rpc.** { * ; }
-keepattributes *Annotation*,EnclosingMethod,Signature
-keepnames class com.fasterxml.jackson.** { *; }
# bug with video recoder
-keep class com.coremedia.iso.** { *; }
# unused SealedData constructor needed by JsonUtils
-keep class org.thoughtcrime.securesms.crypto.KeyStoreHelper* { *; }
-dontwarn com.google.firebase.analytics.connector.AnalyticsConnector

38
test-proguard-rules.pro Normal file
View file

@ -0,0 +1,38 @@
# Please add these rules to your existing keep rules in order to suppress warnings.
# This is generated automatically by the Android Gradle plugin.
-dontwarn com.sun.jna.FunctionMapper
-dontwarn com.sun.jna.JNIEnv
-dontwarn com.sun.jna.LastErrorException
-dontwarn com.sun.jna.Library
-dontwarn com.sun.jna.Native
-dontwarn com.sun.jna.NativeLibrary
-dontwarn com.sun.jna.Platform
-dontwarn edu.umd.cs.findbugs.annotations.SuppressFBWarnings
-dontwarn java.lang.instrument.ClassDefinition
-dontwarn java.lang.instrument.ClassFileTransformer
-dontwarn java.lang.instrument.IllegalClassFormatException
-dontwarn java.lang.instrument.Instrumentation
-dontwarn java.lang.instrument.UnmodifiableClassException
-dontwarn java.lang.management.ManagementFactory
-dontwarn java.lang.management.ThreadInfo
-dontwarn java.lang.management.ThreadMXBean
-dontwarn org.junit.jupiter.api.TestInstance$Lifecycle
-dontwarn org.junit.jupiter.api.extension.AfterEachCallback
-dontwarn org.junit.jupiter.api.extension.AfterTestExecutionCallback
-dontwarn org.junit.jupiter.api.extension.BeforeEachCallback
-dontwarn org.junit.jupiter.api.extension.ExtensionConfigurationException
-dontwarn org.junit.jupiter.api.extension.ExtensionContext$Namespace
-dontwarn org.junit.jupiter.api.extension.ExtensionContext$Store
-dontwarn org.junit.jupiter.api.extension.ExtensionContext
-dontwarn org.junit.jupiter.api.extension.ParameterContext
-dontwarn org.junit.jupiter.api.extension.ParameterResolutionException
-dontwarn org.junit.jupiter.api.extension.ParameterResolver
-dontwarn org.junit.jupiter.api.extension.TestInstancePostProcessor
-dontwarn org.junit.jupiter.api.parallel.Execution
-dontwarn org.junit.jupiter.api.parallel.ExecutionMode
-dontwarn org.junit.platform.commons.annotation.Testable
-dontwarn org.junit.platform.commons.support.AnnotationSupport
-dontwarn org.junit.platform.commons.support.HierarchyTraversalMode
-dontwarn org.junit.platform.commons.support.ReflectionSupport
-dontwarn org.opentest4j.MultipleFailuresError
-dontwarn org.w3c.dom.bootstrap.DOMImplementationRegistry