Firestore: в классе не найдено свойств для сериализации

Примечание.

Пожалуйста, не отмечайте этот вопрос как дубликат, так как я уже рассматривал подобные вопросы и ответы на них.

Ошибка:

java.lang.RuntimeException: свойства для сериализации не найдены в классе com.appz.abhi.shudhbatter.b.c
в com.google.firebase.firestore.g.l$a.(неизвестный источник)
в com.google. firebase.firestore.g.l.a(Неизвестный источник)
на com.google.firebase.firestore.g.l.b(Неизвестный источник)
на com.google.firebase.firestore.g.l.b(Неизвестный источник)
на com.google .firebase.firestore.g.l.a(Неизвестный источник)
на com.google.firebase.firestore.ah.b(Неизвестный источник)
на com.google.firebase.firestore.b.a(Неизвестный источник)
на com.appz.abhi.shudhbatter.view.onboarding.a.a.a.a(Неизвестный источник)
на com.appz.abhi.shudhbatter.view.onboarding.a.a.a.lambda$56b6vrtW7GJri_HgEDiOk1aRbrY(Неизвестный источник)
на com.appz.abhi .shudhbatter.view.onboarding.a.a.-$$Lambda$a$56b6vrtW7GJri_HgEDiOk1aRbrY.onClick(lambda)
в android.view.View.performClick(View.java:5647)
в android.view.View$ PerformClick.run(View.java:22465)
на android.os.Handler.handleCallback(Handler.java:754)
на android.os.Handler.dispatchMessage(Handler.java:95)
на android.os.Looper.loop(Looper.java:163)
в android.app.ActivityThread.main(ActivityThread.java:6238)
в java.lang.reflect.Method.invoke(собственный метод)< br> на com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904)
на com.android.internal.os.ZygoteInit.main(ZygoteInit.java:794)

Похожие вопросы:

  1. Firebase В классе не найдено свойств для сериализации
  2. В классе com.contentful.vault.Asset не найдены свойства для сериализации
  3. Firebase Не найдены свойства для сериализации с объектом в режиме выпуска
  4. Firebase — в классе не найдено свойств для сериализации

proguard-rules.pro:

-assumenosideeffects class android.util.Log {
    public static *** d(...);
}

# Add this global rule
-keepattributes Signature

-keep class android.support.v7.widget.RecyclerView { *; }

# Keep custom model classes
-keepclassmembers class com.mypackage.model.** { *; }
-keep class com.mypackage.model.** { *; }
-keep class com.mypackage.util.** { *; }

Используя файл сопоставления, я обнаружил, что ошибка вызвана следующим классом модели:

User.java:

package com.mypackage.model;

import java.io.Serializable;

public class User implements Serializable {

    //  Data
    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;
    }
}

UserType.java:

package com.mypackage.model;

public enum UserType {
    USER, ADMIN, DELIVERY
}

person Abhimanyu    schedule 16.12.2018    source источник


Ответы (1)


Вышеупомянутая ошибка была устранена после выполнения следующих действий:

  1. Очистите и перестройте проект.
  2. Удаление всех правил proguard.
  3. Добавление @Keep в начало каждого класса модели.
person Abhimanyu    schedule 19.12.2018