Kotlin: приложение выходит из строя после включения Proguard - PullRequest
0 голосов
/ 10 января 2020

Я написал этот класс модели для получения конфигураций из базы данных Firbase

    @Keep
    class Configuration {

        @SerializedName("BASE_API_URL")
         var BASE_API_URL: String = ""

        @SerializedName("BASE_URL")
        var BASE_URL: String = ""
    }

Я получаю следующую ошибку. после включения proguard

com.google.firebase.database.DatabaseException: Found two getters or fields with conflicting case sensitivity for property: base_api_url
    at com.google.firebase.database.core.utilities.encoding.CustomClassMapper$a.a()
    at com.google.firebase.database.core.utilities.encoding.CustomClassMapper$a.<init>(:5)
    at com.google.firebase.database.core.utilities.encoding.CustomClassMapper.a()
    at com.google.firebase.database.core.utilities.encoding.CustomClassMapper.a(:4)
    at com.google.firebase.database.DataSnapshot.getValue(:1)
    at com.io.chefjoy.customer.ui.activity.SplashScreenActivity$fetchConfigData$masterVEL$1.onDataChange()
    at com.google.firebase.database.core.ValueEventRegistration.fireEvent()
    at com.google.firebase.database.core.view.DataEvent.fire()
    at a.d.b.d.d.c.b.run(:4)
    at android.os.Handler.handleCallback(Handler.java:815)
    at android.os.Handler.dispatchMessage(Handler.java:104)
    at android.os.Looper.loop(Looper.java:207)
    at android.app.ActivityThread.main(ActivityThread.java:5728)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:679)

1 Ответ

0 голосов
/ 10 января 2020

Ваша линия gradle proguard выглядит так?

proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'

Также проблема может быть в @Keep, поскольку ваши @SerializedName и имя переменной совпадают. Поэтому попробуйте удалить @Keep или оставить аннотацию @Keep и вместо этого переименовать переменные в строчные и посмотреть, сработает ли это.

...