diff options
| author | Albin <albin@mullvad.net> | 2023-02-16 13:55:51 +0100 |
|---|---|---|
| committer | Albin <albin@mullvad.net> | 2023-02-16 13:55:51 +0100 |
| commit | 5d87248c1c052f6f6f338b60ff3ff284dd617bfd (patch) | |
| tree | 62986cb85525d453b317564cbea54f626d3a0c6f | |
| parent | ca0e5973acd92f0dcf0db0f2b4f89dbac7fae32c (diff) | |
| parent | 07a2e94cd2283f87c4c74eb948ca945cf75d0e99 (diff) | |
| download | mullvadvpn-5d87248c1c052f6f6f338b60ff3ff284dd617bfd.tar.xz mullvadvpn-5d87248c1c052f6f6f338b60ff3ff284dd617bfd.zip | |
Merge branch 'enable-r8-minify-and-shrinking'
| -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" |
