Keep Conscrypt classes in the primary dex file 640be73476

This commit is contained in:
inotia00 2023-12-25 21:00:42 +09:00 • committed by Cuynu
commit f4bebc4489
4 changed files with 29 additions and 1 deletions

View file

@ -62,6 +62,9 @@ android {
buildConfigField "String", "BASE_PACKAGE_NAME", "\"$basePackageName\""
multiDexEnabled true
multiDexKeepProguard file('multidex-keep.pro')
ndk {
abiFilters "armeabi-v7a", "arm64-v8a", "x86", "x86_64"
}

View file

@ -0,0 +1,9 @@
# Make sure maps is in the primary dex file
-keep class com.google.android.gms.maps.** { *; }
-keep class org.microg.gms.maps.** { *; }
-keep class com.mapbox.** { *; }
-keep class org.oscim.** { *; }
# Keep Conscrypt in the primary dex file otherwise it will error out on legacy Android versions
-keep class com.google.android.gms.common.security.ProviderInstallerImpl { *; }
-keep class com.google.android.gms.org.conscrypt.** { *; }

View file

@ -21,10 +21,13 @@
# Keep dynamically loaded GMS classes
-keep public class com.google.android.gms.common.security.ProviderInstallerImpl { public *; }
-keep public class com.google.android.gms.dynamic.IObjectWrapper { public *; }
-keep public class com.google.android.gms.dynamite.descriptors.** { public *; }
# Keep AutoSafeParcelables
-keep public class * extends org.microg.safeparcel.AutoSafeParcelable {
@org.microg.safeparcel.SafeParceled *;
<init>(...);
}
# Keep form data

View file

@ -11,16 +11,24 @@
-dontwarn com.caverock.androidsvg.**
-dontwarn org.slf4j.**
-dontwarn org.codehaus.jackson.**
-dontwarn com.android.location.provider.**
-dontwarn java.lang.instrument.ClassFileTransformer
-dontwarn sun.misc.SignalHandler
-dontwarn com.android.org.conscrypt.SSLParametersImpl
-dontwarn org.apache.harmony.xnet.provider.jsse.SSLParametersImpl
# Disable ProGuard Notes, they won't help here
-dontnote
# Keep dynamically loaded GMS classes
-keep public class com.google.android.gms.common.security.ProviderInstallerImpl { public *; }
-keep public class com.google.android.gms.dynamic.IObjectWrapper { public *; }
-keep public class com.google.android.gms.dynamite.descriptors.** { public *; }
# Keep AutoSafeParcelables
-keep public class * extends org.microg.safeparcel.AutoSafeParcelable {
@org.microg.safeparcel.SafeParceled *;
<init>(...);
}
# Keep form data
@ -29,7 +37,12 @@
}
# Keep our stuff
-keep class org.microg.** { *; }
-keep class org.microg** { *; }
-keep class com.google.android.gms** { *; }
-keep class com.mgoogle** { *; }
-keepdirectories org/microg**
-keepdirectories com/google/android/gms**
-keepdirectories com/mgoogle**
# Keep asInterface method cause it's accessed from SafeParcel
-keepattributes InnerClasses