发布构建应用崩溃导致保护规则



我的应用程序中有一堆回收器视图,可以从Firestore数据库中获取数据。在我的调试应用程序中一切正常,但是当我在我的 proguard 中添加minifyEnabled true时,一切正常,但活动主机回收器失败并出现以下 logcat 错误。我完全不知道如何为模型类添加保护规则

我刚刚做了我的堆栈跟踪,这是错误

E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.swf.sahrudhayafoundation, PID: 30519
java.lang.RuntimeException: No properties to serialize found on class com.swf.sahrudhayafoundation.q.b
at com.google.firebase.firestore.o0.l$a.<init>(:714)
at com.google.firebase.firestore.o0.l.z(:377)
at com.google.firebase.firestore.o0.l.e(:540)
at com.google.firebase.firestore.o0.l.s(:253)
at com.google.firebase.firestore.o0.l.p(:100)
at com.google.firebase.firestore.i.o(:187)
at com.google.firebase.firestore.z.o(:116)
at com.google.firebase.firestore.i.n(:165)
at com.google.firebase.firestore.z.n(:97)
at com.firebase.ui.firestore.b.b(:23)
at com.firebase.ui.firestore.b.a(:12)
at c.a.a.a.a.a(:36)
at c.a.a.a.c.get(:52)
at com.firebase.ui.firestore.FirestoreRecyclerAdapter.I(:86)
at com.firebase.ui.firestore.FirestoreRecyclerAdapter.x(:158)
at androidx.recyclerview.widget.RecyclerView$g.y(:7065)
at androidx.recyclerview.widget.RecyclerView$g.k(:7107)
at androidx.recyclerview.widget.RecyclerView$v.H(:6012)
at androidx.recyclerview.widget.RecyclerView$v.I(:6279)
at androidx.recyclerview.widget.RecyclerView$v.p(:6118)
at androidx.recyclerview.widget.RecyclerView$v.o(:6114)
at androidx.recyclerview.widget.LinearLayoutManager$c.d(:2303)
at androidx.recyclerview.widget.LinearLayoutManager.s2(:1627)
at androidx.recyclerview.widget.LinearLayoutManager.U1(:1587)
at androidx.recyclerview.widget.LinearLayoutManager.X0(:665)
at androidx.recyclerview.widget.RecyclerView.dispatchLayoutStep2(:4134)
at androidx.recyclerview.widget.RecyclerView.onMeasure(:3540)
at android.view.View.measure(View.java:24817)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6934)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1552)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:842)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:721)
at android.view.View.measure(View.java:24817)
at android.widget.ScrollView.measureChildWithMargins(ScrollView.java:1455)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
at android.widget.ScrollView.onMeasure(ScrollView.java:475)
at android.view.View.measure(View.java:24817)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6934)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
at androidx.appcompat.widget.ContentFrameLayout.onMeasure(:143)
at android.view.View.measure(View.java:24817)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6934)
at androidx.appcompat.widget.ActionBarOverlayLayout.onMeasure(:403)
at android.view.View.measure(View.java:24817)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6934)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
at android.view.View.measure(View.java:24817)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6934)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1552)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:842)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:721)
at android.view.View.measure(View.java:24817)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6934)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
at com.android.internal.policy.DecorView.onMeasure(DecorView.java:795)
at android.view.View.measure(View.java:24817)
at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:3361)
at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:2121)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2415)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:2005)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:8204)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1085)
at android.view.Choreographer.doCallbacks(Choreographer.java:908)
at android.view.Choreographer.doFrame(Choreographer.java:835)
E/AndroidRuntime:     at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1070)
at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:228)
at android.app.ActivityThread.main(ActivityThread.java:7782)
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:981)

可能是由于 proguard 而遇到问题,以确保尝试在您的发布构建类型中禁用 minify

buildTypes {
release {
minifyEnabled false
------
}
}

在保护规则中添加以下代码

-keep class package.to.yourmodels.** { *; }
-keepattributes *Annotation*
-keepattributes Signature
-dontwarn com.squareup.okhttp.*
-dontwarn rx.**
-dontwarn retrofit2.**
-keep class retrofit2.** { *; }
-keepattributes Exceptions
-keepattributes RuntimeVisibleAnnotations
-keepattributes RuntimeInvisibleAnnotations
-keepattributes RuntimeVisibleParameterAnnotations
-keepattributes RuntimeInvisibleParameterAnnotations

最新更新