android - 启用规则(proguard-rules.pro)后,开始报错我不明白为什么
问题描述
当我单击包含此类代码类型的方法时,我收到一个错误(无法转换为)。我不知道还有什么要添加到规则中。
ChatFragment chatFragment = (ChatFragment) getSupportFragmentManager().findFragmentByTag(fragmentClass.getSimpleName());
Android Studio 3.2.1
minSdkVersion 19
targetSdkVersion 28
classpath 'com.android.tools.build:gradle:3.3.2'
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.release
我的规则是:
-keepattributes SourceFile,LineNumberTable
-keepattributes Signature
-keepattributes *Annotation*
-keepattributes Exceptions
-keep class android.support.v7.widget.**{ *; }
-keep class android.support.v7.widget.SearchView { *; }
-keep class javax.annotation.** { *; }
-keep class com.google.android.gms.** { *; }
-keep class com.google.common.collect.** { *; }
-keep class com.github.ajalt.reprint.module.** { *; }
-keep class com.samsung.** {*;}
-keep class com.squareup.okhttp.OkHttpClient.** {*;}
-keep interface android.support.v7.* { *; }
-keep class com.github.siyamed.shapeimageview.**{ *; }
-keep class org.java-websocket.**{ *; }
-keep class com.github.NaikSoftware.**{ *; }
-keep class com.crashlytics.sdk.android.**{ *; }
-keep class com.crashlytics.android.CrashlyticsInitProvider.**{ *; }
-keep class com.app.motohq.motohqapp.app.customs.Pair{ *; }
-dontwarn com.github.siyamed.**
-dontwarn android.support.v7.**
-dontwarn okio.**
-dontwarn okhttp3.**
-dontwarn retrofit2.**
-dontwarn com.squareup.picasso.**
-dontwarn javax.annotation.Nullable
-dontwarn java.lang.invoke.**
-dontwarn com.pushtorefresh.storio2.**
-dontwarn com.google.android.gms.**
-dontwarn com.samsung.**
-dontwarn android.support.v4.**
Process: com.app.motohq.motohqapp, PID: 9586
java.lang.ClassCastException: com.app.motohq.motohqapp.ui.a.a.c.c cannot be cast to com.app.motohq.motohqapp.ui.a.g.c
at com.app.motohq.motohqapp.ui.activities.MessagesActivity.b(MessagesActivity.java:243)
at com.app.motohq.motohqapp.ui.a.a.c.c.a(MenuLastMessageDialogFragment.java:47)
at com.app.motohq.motohqapp.d.c.b.a.f.a(MenuChatDialogFragmentView$$State.java:24)
at com.app.motohq.motohqapp.d.b.a.g.a(MenuChatDialogFragmentPresenter.java:22)
at com.app.motohq.motohqapp.b.x$a.onClick(DialogMenuStatusChatBindingImpl.java:129)
at android.view.View.performClick(View.java:6256)
at android.view.View$PerformClick.run(View.java:24701)
at android.os.Handler.handleCallback(Handler.java:789)
at android.os.Handler.dispatchMessage(Handler.java:98)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6541)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
解决方案
推荐阅读
- python-3.x - Python初学者有一个基本问题:如何正确调用类和方法?
- angular - 如何在 Firebase 云函数和 Angular 之间共享 typescript 类
- python - 我真的需要这个python代码解释
- python - aiohttp logging:如何区分不同请求的日志消息?
- python - 如何计算窗口内的平均值,其中窗口的范围取决于列的值?
- sql - sql - 获取 2 个子查询的最小值
- reactjs - 材质 UI DatePicker 设置为必需
- sockets - 在 WebRTC 的上下文中,一般如何建立对等 (P2P) 套接字连接?
- python - 在 HDP 集群中使用 HDFS3 库连接 Namenode 时出错
- excel - 由于缓冲区问题,剑道导出到 excel 失败