2021-07-18 13:11:20 +08:00
|
|
|
# Parcelable
|
|
|
|
-keepclassmembers class * implements android.os.Parcelable {
|
|
|
|
public static final ** CREATOR;
|
|
|
|
}
|
|
|
|
|
2020-02-22 01:28:33 -08:00
|
|
|
# Kotlin
|
|
|
|
-assumenosideeffects class kotlin.jvm.internal.Intrinsics {
|
2021-01-24 21:21:22 +08:00
|
|
|
public static void check*(...);
|
|
|
|
public static void throw*(...);
|
2020-02-22 01:28:33 -08:00
|
|
|
}
|
2022-06-05 11:40:13 +08:00
|
|
|
-assumenosideeffects class java.util.Objects {
|
|
|
|
public static ** requireNonNull(...);
|
|
|
|
}
|
2022-08-22 12:18:30 +08:00
|
|
|
-assumenosideeffects public class kotlin.coroutines.jvm.internal.DebugMetadataKt {
|
|
|
|
private static ** getDebugMetadataAnnotation(...) return null;
|
|
|
|
}
|
2020-02-22 01:28:33 -08:00
|
|
|
|
2021-01-28 02:56:54 +08:00
|
|
|
# Stub
|
|
|
|
-keep class com.topjohnwu.magisk.core.App { <init>(java.lang.Object); }
|
2021-04-17 22:35:36 -07:00
|
|
|
-keepclassmembers class androidx.appcompat.app.AppCompatDelegateImpl {
|
2023-02-10 12:13:40 +08:00
|
|
|
boolean mActivityHandlesConfigFlagsChecked;
|
|
|
|
int mActivityHandlesConfigFlags;
|
2021-04-17 22:35:36 -07:00
|
|
|
}
|
2021-01-28 02:56:54 +08:00
|
|
|
|
2022-06-05 11:40:13 +08:00
|
|
|
# main
|
|
|
|
-keep,allowoptimization public class com.topjohnwu.magisk.signing.SignBoot {
|
|
|
|
public static void main(java.lang.String[]);
|
|
|
|
}
|
|
|
|
|
2020-01-29 22:16:53 +08:00
|
|
|
# Strip Timber verbose and debug logging
|
2021-01-27 04:56:39 -08:00
|
|
|
-assumenosideeffects class timber.log.Timber$Tree {
|
2020-01-29 22:16:53 +08:00
|
|
|
public void v(**);
|
|
|
|
public void d(**);
|
|
|
|
}
|
2018-09-14 23:00:39 -04:00
|
|
|
|
2023-02-27 15:42:07 +08:00
|
|
|
# https://github.com/square/retrofit/issues/3751#issuecomment-1192043644
|
|
|
|
# Keep generic signature of Call, Response (R8 full mode strips signatures from non-kept items).
|
|
|
|
-keep,allowobfuscation,allowshrinking interface retrofit2.Call
|
|
|
|
-keep,allowobfuscation,allowshrinking class retrofit2.Response
|
|
|
|
|
|
|
|
# With R8 full mode generic signatures are stripped for classes that are not
|
|
|
|
# kept. Suspend functions are wrapped in continuations where the type argument
|
|
|
|
# is used.
|
|
|
|
-keep,allowobfuscation,allowshrinking class kotlin.coroutines.Continuation
|
|
|
|
|
|
|
|
|
2018-09-14 23:00:39 -04:00
|
|
|
# Excessive obfuscation
|
2021-01-27 04:56:39 -08:00
|
|
|
-repackageclasses 'a'
|
2018-09-14 23:00:39 -04:00
|
|
|
-allowaccessmodification
|
2019-04-11 18:03:22 +02:00
|
|
|
|
2021-09-02 21:31:33 -07:00
|
|
|
-obfuscationdictionary ../dict.txt
|
|
|
|
-classobfuscationdictionary ../dict.txt
|
|
|
|
-packageobfuscationdictionary ../dict.txt
|
|
|
|
|
2021-04-17 18:54:27 +08:00
|
|
|
-dontwarn org.bouncycastle.jsse.BCSSLParameters
|
|
|
|
-dontwarn org.bouncycastle.jsse.BCSSLSocket
|
|
|
|
-dontwarn org.bouncycastle.jsse.provider.BouncyCastleJsseProvider
|
|
|
|
-dontwarn org.commonmark.ext.gfm.strikethrough.Strikethrough
|
|
|
|
-dontwarn org.conscrypt.Conscrypt*
|
|
|
|
-dontwarn org.conscrypt.ConscryptHostnameVerifier
|
|
|
|
-dontwarn org.openjsse.javax.net.ssl.SSLParameters
|
|
|
|
-dontwarn org.openjsse.javax.net.ssl.SSLSocket
|
|
|
|
-dontwarn org.openjsse.net.ssl.OpenJSSE
|