这个"OnChecksumsReadyListener.onChecksumsReady"抽象方法错误背后的原因是什么?

4

我在安装了 Android 12 版本的发布版本中遇到了这个异常。

exception.class.missing._Unknown_: java.lang.AbstractMethodError    abstract method "void android.content.pm.PackageManager$OnChecksumsReadyListener.onChecksumsReady(java.util.List)"
  at android.app.ApplicationPackageManager$2.onChecksumsReady (ApplicationPackageManager.java:969)
  at android.content.pm.IOnChecksumsReadyListener$Stub.onTransact (IOnChecksumsReadyListener.java:87)
  at android.os.Binder.execTransactInternal (Binder.java:1184)
  at android.os.Binder.execTransact (Binder.java:1143)

有谁知道这背后的原因吗?或者如何解决这个问题!?


你尝试过清理项目吗? - Abhishek Dutt
此问题发生在发布版本上。 - Bhoomika Patel
我的错。在调试分支上工作了吗? - Abhishek Dutt
在测试S22和生产POCO F4手机时遇到了这个异常。这是一个Unity项目,但我认为这并不重要。S22是直接从工厂拿出来的,带有Android原始版本。更新到8月安全补丁后仍然出现相同的问题。我将其放置过夜,今天早上异常消失了。我相信手机上存在库不匹配的问题,并且它在过夜后自行更新了。 - ADB
2个回答

0

关于常见的AbstractMethodError,您可以从此主题获取更多信息:https://dev59.com/22Ml5IYBdhLWcg3w_bDj#17970129

在我的情况下,当我尝试将目标SDK降级到30时,我遇到了这个问题。我的解决方案是:

  • 使用Gradlew查找所有与work-runtime相关的依赖项(例如firebase广告)并将它们降级。

  • 如果您有以下代码,请从gradle中删除它:

    configurations.all {resolutionStrategy { force 'androidx.work:work-runtime:2.6.0' }}


我在我的Gradle中没有使用这段代码,而且我的所有其他依赖项几乎都已更新。如果您能提供更多指导,那将是非常感激的。 - Bhoomika Patel
你能发一下你的Gradle代码吗? - ryak
抱歉 @ryak,我不能这样做。 - Bhoomika Patel

0

当在一个没有安装Google Play服务的Android 12设备(Lineage OS 19)上调用AdMob的InterstitialAd.load()时,我遇到了完全相同的错误。这个问题发生在应用程序的发布版本上,而调试版本则没有任何问题。异常无法被捕获。

在我的情况下解决问题的方法是将gradle插件升级到7.3.1版本。作为副作用,我的APK也增加了额外的4MB。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接