Proguard - 找不到引用的方法



我必须将我的构建工具升级到com.android.tools.build:gradle:3.1.3gradle 4.4.我的项目以前与proguard配合得很好。但是升级后,有很多问题,如下所示:

MainActivity: can't find referenced method 'void setAlpha(float)' in program class android.view.View
...can't find referenced method 'void execute(java.lang.Runnable)' in program class android.os.AsyncTask
...can't find referenced method 'void overridePendingTransition(int,int)'
...can't find referenced method 'boolean canPause()' in program class android.widget.VideoView
Warning: library class android.app.AlarmManager$AlarmClockInfo depends on program class android.os.Parcelable$Creator
Warning: library class android.graphics.drawable.AdaptiveIconDrawable extends or implements program class android.graphics.drawable.Drawable

我在 proguard 文件中遗漏了什么?

花了很多时间看了日志猫后,我发现每个referenced method都被Added in API level 11 or above(我正在使用 if/else 检查(,我的min sdk15的。有什么建议吗?

Proguard 版本已使用构建工具进行更新,也许这是 Proguard 版本的问题。您是否尝试手动降级(或升级(Proguard版本以查看错误是否仍然发生?

像这样覆盖它

buildscript {
configurations.all {
resolutionStrategy {
force 'net.sf.proguard:proguard-gradle:x.x.x' //here use whatever version you'd like
}
}
}

并像这样查找您的ProGuard版本

./gradlew buildEnvironment

最新更新