diff options
| -rw-r--r-- | android/app/build.gradle.kts | 13 | ||||
| -rw-r--r-- | android/app/proguard-rules.pro | 20 | ||||
| -rw-r--r-- | android/gradle.properties | 1 |
3 files changed, 32 insertions, 2 deletions
diff --git a/android/app/build.gradle.kts b/android/app/build.gradle.kts index 55b7b33c05..97739770de 100644 --- a/android/app/build.gradle.kts +++ b/android/app/build.gradle.kts @@ -62,16 +62,25 @@ android { buildTypes { getByName("release") { - isMinifyEnabled = false signingConfig = signingConfigs.getByName("release") } } } buildTypes { + getByName("release") { + isMinifyEnabled = true + isShrinkResources = true + proguardFiles( + getDefaultProguardFile("proguard-android-optimize.txt"), + "proguard-rules.pro" + ) + } + create("fdroid") { initWith(buildTypes.getByName("release")) - isMinifyEnabled = false + isMinifyEnabled = true + isShrinkResources = true signingConfig = null matchingFallbacks += "release" } diff --git a/android/app/proguard-rules.pro b/android/app/proguard-rules.pro new file mode 100644 index 0000000000..7d80dc6e39 --- /dev/null +++ b/android/app/proguard-rules.pro @@ -0,0 +1,20 @@ +# Mullvad +# Keeping all Mullvad classes etc until the project has been split into multiple sub-projects +# where it's better defined where the FFI/JNI boundaries are. +-keep class net.mullvad.** { *; } + +# Mullvad daemon FFI/JNI +# See: <repository-root>/mullvad-jni/classes.rs +-keep class android.os.Parcelable { *; } +-keep class java.lang.Boolean { *; } +-keep class java.lang.Integer { *; } +-keep class java.lang.String { *; } +-keep class java.net.InetAddress { *; } +-keep class java.net.InetSocketAddress { *; } +-keep class java.util.ArrayList { *; } + +# Joda Time +-dontwarn org.joda.convert.** +-dontwarn org.joda.time.** +-keep class org.joda.time.** { *; } +-keep interface org.joda.time.** { *; } diff --git a/android/gradle.properties b/android/gradle.properties index de2e2a73d1..84db78d9df 100644 --- a/android/gradle.properties +++ b/android/gradle.properties @@ -1,4 +1,5 @@ android.enableJetifier=true +android.enableR8.fullMode=true android.useAndroidX=true kotlin.code.style=official org.gradle.jvmargs=-Xmx8192M -Dkotlin.daemon.jvm.options\="-Xmx8192M" |
