java - Android 应用程序在 Android 8.0 (Google Pixel XL) 上崩溃

标签 java android exception-handling android-studio-2.2 android-8.0-oreo

我的应用程序运行良好,但自从 Android Oreo 加入 Google Pixel XL 以来,它一直在崩溃 以下是异常堆栈跟踪

Fatal Exception: java.lang.AbstractMethodError: abstract method "boolean android.app.job.JobServiceEngine.onStartJob(android.app.job.JobParameters)" at android.app.job.JobServiceEngine$JobHandler.handleMessage(JobServiceEngine.java:108) at android.os.Handler.dispatchMessage(Handler.java:105) at android.os.Looper.loop(Looper.java:164) at android.app.ActivityThread.main(ActivityThread.java:6541) at java.lang.reflect.Method.invoke(Method.java) at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)

谁能帮我解决这个问题?

最佳答案

如果您的应用程序启用了混淆器,则可能是静态内部类被删除的情况。您可以使用 -keep 命令在混淆器中添加属性以保留实现 JobServiceEngine 的内部类。

例如,如果实现JobServiceEngine的类是JobServiceEngineImpl,它是JobIntentService的静态内部类,添加

-keep class android.support.v4.app.JobIntentService$* {
    *
}

关于java - Android 应用程序在 Android 8.0 (Google Pixel XL) 上崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47350042/

相关文章:

c# - 编写仅包含 throw 语句的 catch block 是否有任何技术原因?

java - 获取带有线程上下文的堆栈跟踪

Java 8允许静态方法和默认方法在接口(interface)内实现,这是否意味着java允许在java 8中多重继承?

android - 使用 backstack 时 fragment 未替换

android - Jetpack Compose LazyRow 滚动仅捕捉到下一个或上一个元素的开始

java - PMD 错误 - AvoidThrowingRawExceptionTypes

java - spring security 从同一个ip地址多次登录

我在 scala 中使用的 Java 对象被创建了好几次

android - RECEIVE_MMS 和 RECEIVE_WAP_PUSH 之间有什么区别?

java - 未知异常的 e.printStackTrace() 出了什么问题