![](/img/trans.png)
[英]Found two getters or fields with conflicting case sensitivity for property
[英]Found two getters or fields with conflicting case sensitivity for property: s however, I don't have an "s" property of the classes nor Firebase
我没有类的“s”属性或 Firebase 和 FeedService 的第 12 行指向: import android.os.IBinder; class FeedService 的代码中没有原因。 这只发生在 PlayStore 上发布的用于测试的缩小和混淆版本中。
我已阅读有关该主题的所有问题和答案,但没有解决我的问题。 很高兴知道:所有变量和属性都在 CamelCase PRIVATE 中,在 Firebase 和 POJO 类中,并且相应的 getter 和 setter 是 PUBLIC。 有谁知道如何解决它?
buildTypes {
release {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
E/AndroidRuntime: FATAL EXCEPTION: main
Process: br.com.site.app, PID: 18293
d.d.c.m.d: Found two getters or fields with conflicting case sensitivity for property: s
at d.d.c.m.x.b1.q.a$a.a(Unknown Source:40)
at d.d.c.m.x.b1.q.a$a.<init>(:5)
at d.d.c.m.x.b1.q.a.e(Unknown Source:12)
at d.d.c.m.x.b1.q.a.b(:4)
at br.com.site.app.service.FeedService.z(:12)
at d.d.c.m.x.b.d(:11)
at d.d.c.m.x.c1.d.a(Unknown Source:2)
at d.d.c.m.x.c1.h.run(:6)
at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7397)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:935)
最后,我想出了一个解决我的问题的方法:
确保你的 POJO 遵循属性、方法和常量的编码风格标准; 将 TRANSIENT 放在 POJO 中不应序列化的所有内容上; Firebase 中的属性必须与 POJO 中的完全相同; 不要使用,例如:myAtributteURI 或 executeMyAtributteURI(),但 myAtributteUri 和 executeMyAtributteUri()。 请记住,它将在 Debug 中运行,但它会在缩小的混淆版本中出现错误。 因此,请遵循特定于 FIREBASE 的 Proguard 规则。 在这个链接中:
https://firebase.google.com/docs/database/android/start#proguard
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.