简体   繁体   English

发布构建应用程序崩溃导致 proguard 规则

[英]Release build app crashes cause of proguard rules

I have a bunch of Recycler views in my app that gets data from the firestore database.我的应用程序中有一堆 Recycler 视图,它们从 firestore 数据库中获取数据。 Everything went fine in my debug app but when I added minifyEnabled true In my proguard everything worked fine but the activity hosts recycler fails with the below logcat error.在我的调试应用程序中一切正常,但是当我在我的 proguard 中添加minifyEnabled true时,一切正常,但活动主机回收器失败并出现以下 logcat 错误。 I'm totally unaware of how to add the proguard rules for the model classes我完全不知道如何为 model 类添加保护规则

I just made my stacktrace and this is the error我刚刚做了我的堆栈跟踪,这是错误

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)

May be you have problem because of proguard, to be sure just try by disabling minify in your release build type可能是因为proguard而有问题,请确保只是尝试在您的发布构建类型中禁用缩小

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

Add below code in your proguard rule在您的 proguard 规则中添加以下代码

-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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 即使指定了 proguard 规则,Android 应用程序也会崩溃 - Android app crashes even after proguard rules are specified 升级到 Gradle 3,我无法构建版本,因为它似乎没有运行我的 proguard 规则 - Upgraded to Gradle 3 and I cannot build a release because it doesn't seem to run my proguard rules Proguard混淆使应用程序崩溃 - Proguard obfuscation make app crashes (ClassNotFoundException/Android) Proguard 在发布版本中删除了 rome dex。 它是proguard吗? - (ClassNotFoundException/Android) Proguard removing rome dex on release build. Is it proguard? 启用Proguard无法在设备中运行发布应用 - Enabling Proguard not able to run release app in Device 启用Proguard时Android应用程序崩溃 - Android app crashes when Proguard is enabled 错误:执行…&#39;:app:packageRelease&#39;。&gt;无法计算.. \\ app \\ build \\ intermediates \\ classes-proguard \\ .. \\ release \\ classes.jar的哈希 - Error:Execution… ':app:packageRelease'.> Unable to compute hash of ..\app\build\intermediates\classes-proguard\..\release\classes.jar 如何解决Android App在发行版本类型时崩溃但在Debug Build类型中起作用 - How to Resolve Android App Crashes in Release Build Type But Works in Debug Build Type 添加媒体播放器 release() 会使应用程序崩溃 - Adding mediaplayer release() crashes the app Android 将 minifyEnabled 设置为 true 并将 shrinkResources 设置为 true 时,由于 NullPointerException,应用程序在发布版本中崩溃 - Android App crashes in the release build due to NullPointerException when setting minifyEnabled to true and shrinkResources to true
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM