Skip to content
This repository was archived by the owner on Jul 16, 2024. It is now read-only.

Commit 9459ac8

Browse files
authored
Enable R8 fullMode (#13)
* Enable R8 fullMode * Add keep rule * Remove proguard rules of arouter * Keep rxjava3 * Keep BaseBindingActivity * Add rules for retrofit * allowobfuscation & allowshrinking
1 parent a3640a9 commit 9459ac8

File tree

2 files changed

+11
-7
lines changed

2 files changed

+11
-7
lines changed

gradle.properties

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,6 @@ org.gradle.parallel=true
1212
android.experimental.enableNewResourceShrinker.preciseShrinking=true
1313
android.enablePartialRIncrementalBuilds=true
1414
android.enableParallelJsonGen=true
15+
android.enableR8.fullMode=true
1516
android.nonTransitiveRClass=true
1617
org.gradle.unsafe.configuration-cache=true

gradle/proguard-rules.pro

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -73,14 +73,17 @@
7373
# ZoneRulesProvider _does_ exist!
7474
-dontwarn java.time.zone.ZoneRulesProvider
7575

76-
# Arouter
77-
-keep public class com.alibaba.android.arouter.routes.**{*;}
78-
-keep public class com.alibaba.android.arouter.facade.**{*;}
79-
-keep class * implements com.alibaba.android.arouter.facade.template.ISyringe{*;}
80-
-keep interface * implements com.alibaba.android.arouter.facade.template.IProvider
81-
-keep class * implements com.alibaba.android.arouter.facade.template.IProvider
82-
8376
# DataBinding
8477
-keep public class * extends androidx.databinding.ViewDataBinding {
8578
* inflate(android.view.LayoutInflater);
8679
}
80+
81+
# Extra rules for R8 fullMode
82+
-keep,allowobfuscation,allowshrinking class io.goooler.demoapp.common.base.binding.BaseBindingActivity
83+
-keep,allowobfuscation,allowshrinking class * extends io.goooler.demoapp.common.base.binding.BaseBindingActivity
84+
-keep,allowobfuscation,allowshrinking class io.reactivex.rxjava3.core.Single
85+
-keep,allowobfuscation,allowshrinking class io.reactivex.rxjava3.core.Observable
86+
# TODO: Waiting for new retrofit release to remove these rules
87+
-keep,allowobfuscation,allowshrinking interface retrofit2.Call
88+
-keep,allowobfuscation,allowshrinking class retrofit2.Response
89+
-keep,allowobfuscation,allowshrinking class kotlin.coroutines.Continuation

0 commit comments

Comments
 (0)