summaryrefslogtreecommitdiff
path: root/Source
diff options
context:
space:
mode:
authorJosJuice <josjuice@gmail.com>2021-11-19 22:55:02 +0100
committerJosJuice <josjuice@gmail.com>2021-11-19 22:56:34 +0100
commitd3a23fe5c28fb2eb9a3c4e3847ea0e14152d277d (patch)
tree8ec1532ce67f111d1eff3e004ab5c0a790a38b02 /Source
parent8b57aad8edd82ccc414775d22e96d896bcac6176 (diff)
Android: Enable R8 code shrinking
This decreases our APK size by a few megabytes. Most of the reduction is from Java libraries that we only use small parts of. Code shrinking gets rid of all the unused code from these libraries from the APK. Because I highly value the ability to get stack traces that make sense, I have specifically disabled obfuscation (automatic renaming of symbols to short incomprehensible names). I've only enabled code shrinking for release builds, purely because I feel like the extra build time (30 seconds on my machine) would be annoying when you want to make debug builds rapidly.
Diffstat (limited to 'Source')
-rw-r--r--Source/Android/app/build.gradle6
-rw-r--r--Source/Android/app/proguard-rules.pro20
2 files changed, 9 insertions, 17 deletions
diff --git a/Source/Android/app/build.gradle b/Source/Android/app/build.gradle
index 9aca6bf771..ffb7aa55bb 100644
--- a/Source/Android/app/build.gradle
+++ b/Source/Android/app/build.gradle
@@ -49,6 +49,12 @@ android {
// Signed by release key, allowing for upload to Play Store.
release {
signingConfig signingConfigs.release
+
+ minifyEnabled true
+ shrinkResources true
+ proguardFiles getDefaultProguardFile(
+ 'proguard-android-optimize.txt'),
+ 'proguard-rules.pro'
}
// Signed by debug key disallowing distribution on Play Store.
diff --git a/Source/Android/app/proguard-rules.pro b/Source/Android/app/proguard-rules.pro
index 52592ad511..985cc25961 100644
--- a/Source/Android/app/proguard-rules.pro
+++ b/Source/Android/app/proguard-rules.pro
@@ -1,17 +1,3 @@
-# Add project specific ProGuard rules here.
-# By default, the flags in this file are appended to flags specified
-# in /home/sigma/apps/android-sdk/tools/proguard/proguard-android.txt
-# You can edit the include path and order by changing the proguardFiles
-# directive in build.gradle.
-#
-# For more details, see
-# http://developer.android.com/guide/developing/tools/proguard.html
-
-# Add any project specific keep options here:
-
-# If your project uses WebView with JS, uncomment the following
-# and specify the fully qualified class name to the JavaScript interface
-# class:
-#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
-# public *;
-#}
+# Being able to get sensible stack traces from users is more important
+# than the space savings obfuscation could give us
+-dontobfuscate