【问题标题】:Kotlin : App is getting crashed after enabled proguardKotlin:启用proguard后应用程序崩溃
【发布时间】:2020-01-10 09:35:26
【问题描述】:

我已经编写了这个模型类来从 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)

【问题讨论】:

  • 显示你的方法?

标签: android kotlin proguard


【解决方案1】:

您的gradle proguard 行看起来像这样吗?

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

@Keep 也可能存在问题,因为您的@SerializedName 和变量名相同。因此,请尝试删除 @Keep 或保留 @Keep 注释,然后将变量重命名为小写,看看是否可行。

【讨论】:

  • 我做了那个改变。我在 Firebase 方法 onDataChange() 上遇到空指针异常
  • 尝试将类型更改为可空字符串?
  • 更改但没有用。实际上是从 Firebase 获取数据,将其序列化并保存在共享首选项中。当我启用proguard时。然后它崩溃并且错误是 nullpointerException
猜你喜欢
  • 2013-04-21
  • 1970-01-01
  • 2014-03-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多