Android Studio java.lang.NoSuchMethodError:类中没有静态方法isAtLeastS()Z

l0oc07j2  于 2022-11-16  发布在  Android
关注(0)|答案(1)|浏览(229)

在我将我的targetSdkVersion和compileSdkVersion升级到31后,应用程序崩溃。我已经尝试了这个link中的所有答案,但仍然面临同样的问题。每次我试图打开应用程序时,都会出现此错误

java.lang.NoSuchMethodError: No static method isAtLeastS()Z in class Landroidx/core/os/BuildCompat; or its super classes (declaration of 'androidx.core.os.BuildCompat' appears in /data/app/~~6PPcQbptT87_5h04ffIgXg

jum4pzuy

jum4pzuy1#

我运行了一个非常相似的bug。有两个选项超出了我的理解:

  • 从该接口中删除该静态方法
  • 将最小SDK设置为24

我仍然不知道为什么会这样,不过有一个猜测:
API 24中引入了对Android中静态接口方法的支持。为了促进最低版本或TargetVersion设置低于24的Android项目的向后兼容性,Android构建工具(可能是d8?)将接口的所有静态方法提取到单独的类中(类似于Xamarin绑定工具为包含静态方法的接口生成附加类的方式),其名称为接口名称+“$-CC,”并修改调用代码以调用该类中的静态方法。

相关问题