Firestore:在类中找不到要序列化的属性。
Firestore:在类中找不到要序列化的属性。
注意:\n请不要将此问题标记为重复,因为我已经阅读了类似问题及其答案。\n错误:\n
\njava.lang.RuntimeException: 类 com.appz.abhi.shudhbatter.b.c 上找不到要序列化的属性
\n at com.google.firebase.firestore.g.l$a.(Unknown Source)
\n at com.google.firebase.firestore.g.l.a(Unknown Source)
\n at com.google.firebase.firestore.g.l.b(Unknown Source)
\n at com.google.firebase.firestore.g.l.b(Unknown Source)
\n at com.google.firebase.firestore.g.l.a(Unknown Source)
\n at com.google.firebase.firestore.ah.b(Unknown Source)
\n at com.google.firebase.firestore.b.a(Unknown Source)
\n at com.appz.abhi.shudhbatter.view.onboarding.a.a.a.a(Unknown Source)
\n at com.appz.abhi.shudhbatter.view.onboarding.a.a.a.lambda$56b6vrtW7GJri_HgEDiOk1aRbrY(Unknown\n Source)
\n at com.appz.abhi.shudhbatter.view.onboarding.a.a.-$$Lambda$a$56b6vrtW7GJri_HgEDiOk1aRbrY.onClick(lambda)
\n at android.view.View.performClick(View.java:5647)
\n at android.view.View$PerformClick.run(View.java:22465)
\n at android.os.Handler.handleCallback(Handler.java:754)
\n at android.os.Handler.dispatchMessage(Handler.java:95)
\n at android.os.Looper.loop(Looper.java:163)
\n at android.app.ActivityThread.main(ActivityThread.java:6238)
\n at java.lang.reflect.Method.invoke(Native Method)
\n at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904)
\n at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:794) \n
\n类似问题:\n
- \n
- Firebase类上找不到要序列化的属性
- 类com.contentful.vault.Asset上找不到要序列化的属性
- 在发布模式下找不到要序列化的属性
- Firebase - 类上找不到要序列化的属性
\n
\n
\n
\n
\nproguard-rules.pro: \n
-assumenosideeffects class android.util.Log { public static *** d(...); } # 添加此全局规则 -keepattributes Signature -keep class android.support.v7.widget.RecyclerView { *; } # 保留自定义模型类 -keepclassmembers class com.mypackage.model.** { *; } -keep class com.mypackage.model.** { *; } -keep class com.mypackage.util.** { *; }
\n使用映射文件,我发现错误是由以下模型类引起的:\nUser.java: \n
package com.mypackage.model; import java.io.Serializable; public class User implements Serializable { // 数据 private Long phone; private String uid, name, mail, apartmentName, doorNo; private UserType userType; public User() { userType = UserType.USER; } public Long getPhone() { return phone; } public void setPhone(Long phone) { this.phone = phone; } public String getUid() { return uid; } public void setUid(String uid) { this.uid = uid; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getMail() { return mail; } public void setMail(String mail) { this.mail = mail; } public String getApartmentName() { return apartmentName; } public void setApartmentName(String apartmentName) { this.apartmentName = apartmentName; } public String getDoorNo() { return doorNo; } public void setDoorNo(String doorNo) { this.doorNo = doorNo; } public UserType getUserType() { return userType; } public void setUserType(UserType userType) { this.userType = userType; } }
\nUserType.java: \n
package com.mypackage.model; public enum UserType { USER, ADMIN, DELIVERY }