mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-09-21 01:05:11 +01:00
50 lines
2.1 KiB
INI
50 lines
2.1 KiB
INI
# Obfuscation is off: libsignal resolves store callbacks via JNI signature and Jackson
|
|
# derives property names from identifiers, neither of which survives renaming.
|
|
-dontobfuscate
|
|
-keepattributes SourceFile,LineNumberTable
|
|
-keep class org.whispersystems.** { *; }
|
|
-keep class org.thoughtcrime.securesms.** { *; }
|
|
-keep class org.signal.network.** { *; }
|
|
|
|
# libsignal hands store adapters to Rust, which resolves their methods by exact JNI
|
|
# signature, so nothing under here can have a signature rewritten.
|
|
-keep class org.signal.libsignal.** { *; }
|
|
|
|
# Jackson builds these reflectively. Without this, optimization strips the all-defaults
|
|
# constructor Kotlin synthesizes for TransformProperties and Jackson can no longer
|
|
# instantiate it.
|
|
-keep class org.signal.core.models.** { *; }
|
|
-keep class org.signal.donations.** { *; }
|
|
-keep class org.signal.emoji.** { *; }
|
|
|
|
-keep class org.signal.core.util.crypto.AttachmentSecret { *; }
|
|
-keep class org.signal.core.util.crypto.AttachmentSecret$* { *; }
|
|
-keep class org.signal.core.util.crypto.KeyStoreHelper$SealedData { *; }
|
|
-keep class org.signal.core.util.crypto.KeyStoreHelper$SealedData$* { *; }
|
|
-keepclassmembers class ** {
|
|
public void onEvent*(**);
|
|
}
|
|
|
|
# Protobuf lite
|
|
-keep class * extends com.google.protobuf.GeneratedMessageLite { *; }
|
|
|
|
-keep class androidx.window.** { *; }
|
|
|
|
# Workaround for R8 non-determinism in AGP 9.x. R8 inconsistently keeps or strips
|
|
# the Signature attribute on this Kotlin lambda subclass of the generic
|
|
# LottieValueCallback, causing intermittent dex byte differences. Explicitly
|
|
# keeping the class stabilizes R8's attribute decisions.
|
|
-keep class com.airbnb.lottie.compose.LottieDynamicPropertiesKt$toValueCallback$1 {
|
|
*;
|
|
}
|
|
|
|
-keepclassmembers class * extends androidx.constraintlayout.motion.widget.Key {
|
|
public <init>();
|
|
}
|
|
|
|
# AGP generated dont warns
|
|
-dontwarn com.android.org.conscrypt.SSLParametersImpl
|
|
-dontwarn org.apache.harmony.xnet.provider.jsse.SSLParametersImpl
|
|
-dontwarn org.slf4j.impl.StaticLoggerBinder
|
|
-dontwarn sun.net.spi.nameservice.NameService
|
|
-dontwarn sun.net.spi.nameservice.NameServiceDescriptor |