После включения Proguard с программируемым модулем чата Twilio не работает - PullRequest
0 голосов
/ 14 октября 2019

Я включил Proguard для версии релиза, но после этого Программируемый чат Twilio перестал работать.

Я добавил это https://github.com/twilio/twilio-chat-demo-android/blob/master/chat-demo-android/proguard-project.txt в файл Proguard.

-keep class * extends java.util.ListResourceBundle {
    protected Object[][] getContents();
}

-keep public class com.google.android.gms.common.internal.safeparcel.SafeParcelable {
    public static final *** NULL;
}

-keepnames @com.google.android.gms.common.annotation.KeepName class *
-keepclassmembernames class * {
    @com.google.android.gms.common.annotation.KeepName *;
}

-keepnames class * implements android.os.Parcelable {
    public static final ** CREATOR;
}

build. gradle

    buildTypes {
        debug {
            debuggable true
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        release {
            debuggable false
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }

1 Ответ

0 голосов
/ 14 октября 2019

Попробуйте, proguard-rules.pro

#==============================================
# Proguard rules for use with IP Messaging SDK
#==============================================

-keep class com.twilio.chat.** { *; }
-keepattributes InnerClasses
#-keep interface com.twilio.chat.** { *; }
#-keep enum com.twilio.chat.** { *; }

## Keep native methods

-keepclasseswithmembernames class com.twilio.chat.** {
    native <methods>;
}

## Keep callbacks from native
# ?

#======================================
# Local demo application configuration
#======================================

-keepclassmembers class **.R$* {
    public static <fields>;
}

## EasyAdapter

-dontwarn uk.co.ribot.easyadapter.**
-keepattributes *Annotation*
-keepclassmembers class * extends uk.co.ribot.easyadapter.ItemViewHolder {
    public <init>(...);
}

## Google libraries

-dontwarn android.support.**
-keep class com.google.ads.** { *; }
-keep class com.google.android.gms.** { *; }
-keep class com.google.firebase.** { *; }
-keepattributes Signature
...