1
1
# Add project specific ProGuard rules here.
2
- # You can control the set of applied configuration files using the
3
- # proguardFiles setting in build.gradle.
2
+ # By default, the flags in this file are appended to flags specified
3
+
4
+ # You can edit the include path and order by changing the proguardFiles
5
+ # directive in build.gradle.
4
6
#
5
7
# For more details, see
6
- # http://developer.android.com/guide/developing/tools/proguard.html
8
+ # http://developer.android.com/guide/developing/tools/proguard.html
7
9
8
10
# If your project uses WebView with JS, uncomment the following
9
11
# and specify the fully qualified class name to the JavaScript interface
10
12
# class:
11
13
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
12
14
# public *;
13
15
#}
16
+ #-dontusemixedcaseclassnames
17
+ #-dontskipnonpubliclibraryclasses
18
+ #-verbose
19
+ #
14
20
15
- # Uncomment this to preserve the line number information for
16
- # debugging stack traces.
17
- #-keepattributes SourceFile,LineNumberTable
18
-
19
- # If you keep the line number information, uncomment this to
20
- # hide the original source file name.
21
- #-renamesourcefileattribute SourceFile
21
+ ##---------------Begin: proguard configuration for Gson ----------
22
+ # Gson uses generic type information stored in a class file when working with fields. Proguard
23
+ # removes such information by default, so configure it to keep all of it.
24
+ -keepattributes EnclosingMethod
25
+ -keepattributes InnerClasses
22
26
-keepattributes Signature
27
+ -keepattributes Exceptions
23
28
24
- # For using GSON @Expose annotation
29
+ # for using GSON @Expose annotation
25
30
-keepattributes *Annotation*
26
31
27
- # Gson specific classes
28
- -keep class sun.misc.Unsafe { *; }
29
- #-keep class com.google.gson.stream.** { *; }
30
-
31
- # Application classes that will be serialized/deserialized over Gson
32
- -keep class com.quickblox.core.account.model.** { *; }
33
-
34
- -keep class com.quickblox.auth.parsers.** { *; }
35
- -keep class com.quickblox.auth.model.** { *; }
36
- -keep class com.quickblox.core.parser.** { *; }
37
- -keep class com.quickblox.core.model.** { *; }
38
- -keep class com.quickblox.core.server.** { *; }
39
- -keep class com.quickblox.core.rest.** { *; }
40
- -keep class com.quickblox.core.error.** { *; }
41
- -keep class com.quickblox.core.Query { *; }
42
-
43
- -keep class com.quickblox.content.model.** { *; }
44
-
45
- -keep class com.quickblox.users.parsers.** { *; }
46
- -keep class com.quickblox.users.model.** { *; }
32
+ # quickblox sdk
33
+ -keep class com.quickblox.** { *; }
47
34
48
- -keep class com.quickblox.messages.parsers.** { *; }
49
- -keep class com.quickblox.messages.QBPushNotifications { *; }
50
- -keep class com.quickblox.messages.model.** { *; }
51
- -keep class com.quickblox.messages.services.** { *; }
52
-
53
- -keep class com.quickblox.chat.parser.** { *; }
54
- -keep class com.quickblox.chat.model.** { *; }
55
-
56
- -keep class org.jivesoftware.** { *; }
35
+ # smack xmpp library
57
36
-keep class org.jxmpp.** { *; }
37
+ -keep class org.jivesoftware.** { *; }
38
+ -dontwarn org.jivesoftware.**
39
+
40
+ # webrtc
58
41
-keep class org.webrtc.** { *; }
59
- -keep class com.quickblox.conference.** { *; }
60
42
43
+ # glide
61
44
-keep class com.bumptech.** { *; }
62
45
63
- -dontwarn org.jivesoftware.smackx.**
46
+ # google gms
47
+ -keep class com.google.android.gms.** { *; }
48
+
49
+ #json
50
+ -keep class org.json.** { *; }
51
+ -keep class com.google.gson.reflect.TypeToken
52
+ -keep class * extends com.google.gson.reflect.TypeToken
53
+ -keep public class * implements java.lang.reflect.Type
0 commit comments