My app was OK until recent rebuild due to adding on a few features. But this added on feature is unrelated to the new error (which is weird). I even tried removing the new feature but the error still persist now. It must have come with the new updates of Gradle or android studio.
I've already checked this POJO and modified it in anyway I can, but the error still persist (or the error changes to a different variable on the same java POJO file).
I've also changed the release options on build.gradle to have similar options as debug, but it's still happening.
Based on this similar question: Firebase No properties to serialize found on class
I've tried everything on there (keep class of models in proguard, the @Keep annotation on top of the said POJO model and making all variables to public on the POJO) , but to no avail.
This is my current build.gradle: debug {
minifyEnabled false
useProguard false
ext.enableCrashlytics = false
debuggable true
shrinkResources false
jniDebuggable true
renderscriptDebuggable false
pseudoLocalesEnabled false
zipAlignEnabled true
}
release {
minifyEnabled true
useProguard false
debuggable false
shrinkResources true
jniDebuggable false
renderscriptDebuggable false
pseudoLocalesEnabled false
zipAlignEnabled true
}
And this is the affected POJO:
import android.support.annotation.Keep;
import com.google.firebase.firestore.IgnoreExtraProperties;
import com.google.firebase.Timestamp;
@IgnoreExtraProperties
@Keep
public class UIDOrg {
public String Org;
public Timestamp LastEdit;
public String RootCollection;
public Boolean UserRoleDelivery, UserRoleFulfilment, UserRoleOrder, UserRoleVerification, AllowEditOrder, AllowAddOrder;
public Long LocalNotificationReminderTime;
public Long getLocalNotificationReminderTime() {
return LocalNotificationReminderTime;
}
public Boolean getUserRoleDelivery() {
return UserRoleDelivery;
}
public Boolean getUserRoleFulfilment() {
return UserRoleFulfilment;
}
public Boolean getUserRoleOrder() {
return UserRoleOrder;
}
public Boolean getUserRoleVerification() {
return UserRoleVerification;
}
public Boolean getAllowEditOrder() {
return AllowEditOrder;
}
public Boolean getAllowAddOrder() { return AllowAddOrder; }
public String getOrg() {
return Org;
}
public java.util.Date getLastEdit() {
return LastEdit.toDate();
}
public String getRootCollection() {
return RootCollection;
}
public UIDOrg(String org, Timestamp lastEdit, String rootCollection, Boolean userRoleDelivery, Boolean userRoleFulfilment, Boolean userRoleOrder, Boolean userRoleVerification, Boolean allowEditOrder, Boolean allowAddOrder, Long localNotificationReminderTime) {
Org = org;
LastEdit = lastEdit;
RootCollection = rootCollection;
UserRoleDelivery = userRoleDelivery;
UserRoleFulfilment = userRoleFulfilment;
UserRoleOrder = userRoleOrder;
UserRoleVerification = userRoleVerification;
AllowEditOrder = allowEditOrder;
AllowAddOrder = allowAddOrder;
LocalNotificationReminderTime = localNotificationReminderTime;
}
public UIDOrg() {
}
}
This is the error I get now after building (both bundle and APK) as release:
java.lang.RuntimeException: Found two getters or fields with conflicting case sensitivity for property: allowaddorder
at d.e.c.f.g.j$a.a(Unknown Source:44)
at d.e.c.f.g.j$a.<init>(:6)
at d.e.c.f.g.j.a(Unknown Source:12)
at d.e.c.f.g.j.a(:16)
at d.e.c.f.g.j.a(Unknown Source:2)
at d.e.c.f.g.a(Unknown Source:18)
at d.e.c.f.g.a(Unknown Source:2)
at d.f.a.b.a.a(:1)
at d.e.a.a.l.w.run(:6)
at android.os.Handler.handleCallback(Handler.java:891)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:207)
at android.app.ActivityThread.main(ActivityThread.java:7470)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:524)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:958)
The error is not the same as "no properties to serialize" but I also got that error earlier when I removed proguard support.