, так как нам всем нравится это короткое и четкое:
У меня в магазине есть приложение, которое выдает сбой, которое я не могу воспроизвести (на 4 разных устройствах android8). Согласно GPlay, это RuntimeException
в ActivityThread.handleReceiver
и только в Android 8.x.
Поскольку это происходит только с «некоторыми» устройствами, имеющими версию PlayStore, я могу предположить, что это из-за ProGuard и / или подписи.
Также я НЕ пользуюсь никакими службами / BroadcastReceiver в своем приложении, так как Android 8 имеет startForegroundService вместо startService. В моем приложении я использую FusedLocationProviderClient
и последнюю версию GPlay Service, но думаю, что они должны работать безупречно.
StackTrace:
java.lang.RuntimeException: в
android.app.ActivityThread.handleReceiver (ActivityThread.java:3399)
на android.app.ActivityThread.-wrap18 (неизвестный источник) на
android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1780)
на android.os.Handler.dispatchMessage (Handler.java:105) на
android.os.Looper.loop (Looper.java:164) в
android.app.ActivityThread.main (ActivityThread.java:6944) в
java.lang.reflect.Method.invoke (родной метод) в
com.android.internal.os.Zygote $ MethodAndArgsCaller.run
(Zygote.java:327) на com.android.internal.os.ZygoteInit.main
(ZygoteInit.java:1374
Причина: java.lang.IllegalStateException:
at android.app.ContextImpl.startServiceCommon (ContextImpl.java:1538)
на android.app.ContextImpl.startService (ContextImpl.java:1484) на
android.content.ContextWrapper.startService (ContextWrapper.java:663)
на com.evernote.android.job.WakeLockUtil.startWakefulService
(WakeLockUtil.java:95) в
com.evernote.android.job.JobRescheduleService.startService
(JobRescheduleService.java:24) в
com.evernote.android.job.JobManager. (JobManager.java:191) в
com.evernote.android.job.JobManager.create (JobManager.java:114) в
com.evernote.android.job.JobBootReceiver.onReceive
(JobBootReceiver.java:49) в
android.app.ActivityThread.handleReceiver (ActivityThread.java:3392)
Я уже нашел связанную ветку, которая предлагает расширить proGuardconfig, поэтому я сделал - к сожалению, без исправления:
-keep public class * extends android.app.Activity
-keep public class * extends android.app.Application
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.content.ContentProvider
-keep public class * extends android.preference.Preference
-keep public class * extends android.support.v4.app.Fragment
-keep public class * extends android.app.Fragment
- Любые подсказки и отзывы приветствуются!