diff options
| author | JosJuice <josjuice@gmail.com> | 2021-11-19 22:55:02 +0100 |
|---|---|---|
| committer | JosJuice <josjuice@gmail.com> | 2021-11-19 22:56:34 +0100 |
| commit | d3a23fe5c28fb2eb9a3c4e3847ea0e14152d277d (patch) | |
| tree | 8ec1532ce67f111d1eff3e004ab5c0a790a38b02 /Source | |
| parent | 8b57aad8edd82ccc414775d22e96d896bcac6176 (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.gradle | 6 | ||||
| -rw-r--r-- | Source/Android/app/proguard-rules.pro | 20 |
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 |
