Skip to content

Commit ceff629

Browse files
Hotfix 2.0.0-226
- fixed proguard issue with R8
1 parent 92227a1 commit ceff629

File tree

3 files changed

+65
-8
lines changed

3 files changed

+65
-8
lines changed

app/proguard-rules.pro

-6
Original file line numberDiff line numberDiff line change
@@ -34,12 +34,6 @@
3434
-keep class org.bouncycastle.** { *; }
3535
-keepnames class org.bouncycastle.** { *; }
3636
-dontwarn org.bouncycastle.**
37-
-dontwarn org.conscrypt.Conscrypt$Version
38-
-dontwarn org.conscrypt.Conscrypt
39-
-dontwarn org.conscrypt.ConscryptHostnameVerifier
40-
-dontwarn org.openjsse.javax.net.ssl.SSLParameters
41-
-dontwarn org.openjsse.javax.net.ssl.SSLSocket
42-
-dontwarn org.openjsse.net.ssl.OpenJSSE
4337

4438
# SqlCipher
4539
-keep,includedescriptorclasses class net.sqlcipher.** { *; }

data/consumer-rules.pro

+64-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,65 @@
11
#KEEP MODEL
2-
-keep class ca.bc.gov.data.datasource.remote.model.** { *; }
2+
-keep class ca.bc.gov.data.datasource.remote.model.** { *; }
3+
# JSR 305 annotations are for embedding nullability information.
4+
-dontwarn javax.annotation.**
5+
6+
# A resource is loaded with a relative path so the package of this class must be preserved.
7+
-adaptresourcefilenames okhttp3/internal/publicsuffix/PublicSuffixDatabase.gz
8+
9+
# Animal Sniffer compileOnly dependency to ensure APIs are compatible with older versions of Java.
10+
-dontwarn org.codehaus.mojo.animal_sniffer.*
11+
12+
# OkHttp platform used only on JVM and when Conscrypt and other security providers are available.
13+
-dontwarn okhttp3.internal.platform.**
14+
-dontwarn org.conscrypt.**
15+
-dontwarn org.bouncycastle.**
16+
-dontwarn org.openjsse.**
17+
18+
# Retrofit does reflection on generic parameters. InnerClasses is required to use Signature and
19+
# EnclosingMethod is required to use InnerClasses.
20+
-keepattributes Signature, InnerClasses, EnclosingMethod
21+
22+
# Retrofit does reflection on method and parameter annotations.
23+
-keepattributes RuntimeVisibleAnnotations, RuntimeVisibleParameterAnnotations
24+
25+
# Keep annotation default values (e.g., retrofit2.http.Field.encoded).
26+
-keepattributes AnnotationDefault
27+
28+
# Retain service method parameters when optimizing.
29+
-keepclassmembers,allowshrinking,allowobfuscation interface * {
30+
@retrofit2.http.* <methods>;
31+
}
32+
33+
# Ignore annotation used for build tooling.
34+
-dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement
35+
36+
# Ignore JSR 305 annotations for embedding nullability information.
37+
-dontwarn javax.annotation.**
38+
39+
# Guarded by a NoClassDefFoundError try/catch and only used when on the classpath.
40+
-dontwarn kotlin.Unit
41+
42+
# Top-level functions that can only be used by Kotlin.
43+
-dontwarn retrofit2.KotlinExtensions
44+
-dontwarn retrofit2.KotlinExtensions$*
45+
46+
# With R8 full mode, it sees no subtypes of Retrofit interfaces since they are created with a Proxy
47+
# and replaces all potential values with null. Explicitly keeping the interfaces prevents this.
48+
-if interface * { @retrofit2.http.* <methods>; }
49+
-keep,allowobfuscation interface <1>
50+
51+
# Keep inherited services.
52+
-if interface * { @retrofit2.http.* <methods>; }
53+
-keep,allowobfuscation interface * extends <1>
54+
55+
# With R8 full mode generic signatures are stripped for classes that are not
56+
# kept. Suspend functions are wrapped in continuations where the type argument
57+
# is used.
58+
-keep,allowobfuscation,allowshrinking class kotlin.coroutines.Continuation
59+
60+
# R8 full mode strips generic signatures from return types if not kept.
61+
-if interface * { @retrofit2.http.* public *** *(...); }
62+
-keep,allowoptimization,allowshrinking,allowobfuscation class <3>
63+
64+
# With R8 full mode generic signatures are stripped for classes that are not kept.
65+
-keep,allowobfuscation,allowshrinking class retrofit2.Response

scripts/versions.gradle

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ versions.compileSdkVersion = 33
77

88
//App
99
versions.versionName = '2.0.0'
10-
versions.versionCode = 224
10+
versions.versionCode = 226
1111
versions.localApiVersion = 2
1212

1313
//Tools & Libs

0 commit comments

Comments
 (0)