简体   繁体   English

java.lang.AbstractMethodError: 抽象方法未实现

[英]java.lang.AbstractMethodError: abstract method not implemented

I am currently porting a Android app to my phone and have made good progress.我目前正在将 Android 应用程序移植到我的手机上,并且取得了很好的进展。 I have an error currently however and I have no idea what is wrong:但是我目前有一个错误,我不知道出了什么问题:

06 21:05:24.301 E/AndroidRuntime(2871): java.lang.AbstractMethodError: abstract method not implemented 04-06 21:05:24.301 E/AndroidRuntime(2871): at android.content.pm.PackageManager.getInstalledThemePackages(PackageManager.java) 04-06 21:05:24.301 E/AndroidRuntime(2871): at com.tmobile.thememanager.provider.ThemesProvider$VerifyInstalledThemesThread.verifyPackages(ThemesProvider.java:291) 04-06 21:05:24.301 E/AndroidRuntime(2871): at com.tmobile.thememanager.provider.ThemesProvider$VerifyInstalledThemesThread.run(ThemesProvider.java:230) 06 21:05:24.301 E/AndroidRuntime(2871): java.lang.AbstractMethodError: 抽象方法未实现 04-06 21:05:24.301 E/AndroidRuntime(2871): 在 android.content.pm.PackageManager.getInstalledThemePackage .java) 04-06 21:05:24.301 E/AndroidRuntime(2871): 在 com.tmobile.thememanager.provider.ThemesProvider$VerifyInstalledThemesThread.verifyPackages(ThemesProvider.java:291) 04-01: 24.30Rroid 时间(2871): 在 com.tmobile.thememanager.provider.ThemesProvider$VerifyInstalledThemesThread.run(ThemesProvider.java:230)

This is taken from a logcat by the way.顺便说一下,这是从 logcat 中获取的。

Here is the code of that Java file: Click Me这是 Java 文件的代码: 点击我

It is possible that you are making your code compatible with an older version of the Android API and that now a recent version has additional methods which would need to be implemented in order for it to run in recent versions.您可能正在使您的代码与 Android API 的旧版本兼容,并且现在最新版本具有其他方法,需要实现这些方法才能在最新版本中运行。

I'm not sure if this is your problem, but assuming it is what is happening, you can load classes based on SDK version, as explained in this other post from Stack Overflow: android compability problem我不确定这是否是你的问题,但假设这是正在发生的事情,你可以加载基于 SDK 版本的类,如 Stack Overflow 的另一篇文章中所述: android compability problem

I had a similar problem when using retrofit and OKHttp .我在使用retrofitOKHttp时遇到了类似的问题。 In my case I had to change the following:就我而言,我必须更改以下内容:

  • compile 'com.squareup.okhttp3:okhttp:3.0.0-RC1'编译 'com.squareup.okhttp3:okhttp:3.0.0-RC1'
  • compile 'com.squareup.okhttp3:logging-interceptor: 3.3.1 '编译'com.squareup.okhttp3:logging-interceptor: 3.3.1 '

to:到:

  • compile 'com.squareup.okhttp3:okhttp:3.0.0-RC1'编译 'com.squareup.okhttp3:okhttp:3.0.0-RC1'
  • compile 'com.squareup.okhttp3:logging-interceptor: 3.0.0-RC1 '编译 'com.squareup.okhttp3:logging-interceptor: 3.0.0-RC1 '

it helped me to avoid the error.它帮助我避免了错误。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM