android - 如何使用 proguard 规则?对于库..即使我添加了库提供的规则仍然应用程序崩溃...如何解决它?
问题描述
java.lang.NoSuchMethodError: no non-static method "Lpl/droidsonroids/gif/GifInfoHandle;.<init>(JIII)V"
at pl.droidsonroids.gif.GifInfoHandle.openFd(Native Method)
at pl.droidsonroids.gif.GifInfoHandle.a(:88)
at pl.droidsonroids.gif.h.<init>(:170)
at pl.droidsonroids.gif.h.<init>(:108)
at com.homeone.deft.android.activity.MainActivity.a(:39)
at com.homeone.deft.android.e.g.onCreate(:93)
at android.app.Activity.performCreate(Activity.java:6705)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2648)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2768)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1481)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6153)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:758)
我正在尝试为我的项目添加 proguard 规则我收到以下错误..我不明白如何解决它...它发生在库方法中
解决方案
你检查过这个proguard-rules.pro的图书馆。
-keep class pl.droidsonroids.gif.sample.GifSelectorDrawable { *; }
-keepattributes Signature, LineNumberTable
#leakcanary
-keep class org.eclipse.mat.** { *; }
-dontwarn com.squareup.haha.guava.**
-dontwarn com.squareup.haha.perflib.**
-dontwarn com.squareup.haha.trove.**
-dontwarn com.squareup.leakcanary.**
-keep class com.squareup.haha.** { *; }
#coroutines
-keepnames class kotlinx.coroutines.internal.MainDispatcherFactory {}
-keepnames class kotlinx.coroutines.CoroutineExceptionHandler {}
-keepclassmembernames class kotlinx.** {
volatile <fields>;
}
我希望它会帮助你。
推荐阅读
- c# - 从 C# 委托在运行时调用 C++ 方法
- node.js - 在 nginx 上托管时 Gatsby 构建不起作用
- java - 在 Postgres 上使用 JPA/Spring Boot 生成标题大小写字段
- wso2 - WSO2 Identity Server 5.5.0 - 自包含访问令牌
- sql - 如何获取每个用户的标志之间经过的时间?
- wpf - wpf/xaml 中未定义如何修复“materialDesign”
- c# - 如何知道我点击的是哪个预制按钮?
- microsoft-graph-api - Onenote 接口。服务检测到超过最大递归调用限制的请求并中止了它
- php - 避免使用 php 重新加载页面或重置选择下拉菜单
- pyspark - 在 PySpark 配对的 RDD 中搜索值,以获取来自另一个 RDD 的键