Browse Source

Release mode: add some codeoptimization to look how it behaves

feature/bma/flipper
ganfra 2 years ago
parent
commit
ba6500a557
  1. 14
      app/build.gradle.kts
  2. 26
      app/proguard-rules.pro

14
app/build.gradle.kts

@ -49,13 +49,13 @@ android { @@ -49,13 +49,13 @@ android {
named("release") {
resValue("string", "app_name", "ElementX")
signingConfig = signingConfigs.getByName("debug")
isMinifyEnabled = false
setProguardFiles(
listOf(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
)
postprocessing {
isRemoveUnusedCode = true
isObfuscate = false
isOptimizeCode = true
proguardFiles("proguard-rules.pro")
}
}
register("nightly") {

26
app/proguard-rules.pro vendored

@ -0,0 +1,26 @@ @@ -0,0 +1,26 @@
# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.kts.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
# JNA
-keep class com.sun.jna.** { *; }
-keep class * implements com.sun.jna.** { *; }
# kotlinx.serialization
# Kotlin serialization looks up the generated serializer classes through a function on companion
# objects. The companions are looked up reflectively so we need to explicitly keep these functions.
-keepclasseswithmembers class **.*$Companion {
kotlinx.serialization.KSerializer serializer(...);
}
# If a companion has the serializer function, keep the companion field on the original type so that
# the reflective lookup succeeds.
-if class **.*$Companion {
kotlinx.serialization.KSerializer serializer(...);
}
-keepclassmembers class <1>.<2> {
<1>.<2>$Companion Companion;
}
Loading…
Cancel
Save