After updating to 1.2.6 I see this in my logcat. It's related to the method in Application class
JobManager.create(this).addJobCreator(new MyJobCreator());
It's green, it's not crashing but it's strange. Not sure if I can hide this kind of error in logs. I can see error in Emulator API24 Play Store.
I'm using
Lib version: 1.2.6
gradle: gradle:3.1.2
compileSdkVersion 27
buildToolsVersion '27.0.3'
target: 27
Support Library: 27.1.1
Play Services: 12.0.1
I'm not using GCM - so I'm using hack in manifest for not using it
05-30 12:44:34.293 21582-21582/? I/art: Rejecting re-init on previously-failed class java.lang.Class<android.support.v4.app.JobIntentService$JobServiceEngineImpl>: java.lang.NoClassDefFoundError: Failed resolution of: Landroid/app/job/JobServiceEngine;
at void com.evernote.android.job.JobRescheduleService.startService(android.content.Context) (JobRescheduleService.java:44)
at void com.evernote.android.job.JobManager.<init>(android.content.Context) (JobManager.java:149)
at com.evernote.android.job.JobManager com.evernote.android.job.JobManager.create(android.content.Context) (JobManager.java:102)
at void {myPackageNameHidden}.MyAppNameApplication.onCreate() (MyAppNameApplication.java:36)
at void android.app.Instrumentation.callApplicationOnCreate(android.app.Application) (Instrumentation.java:1024)
at void android.app.ActivityThread.handleBindApplication(android.app.ActivityThread$AppBindData) (ActivityThread.java:5361)
at void android.app.ActivityThread.-wrap2(android.app.ActivityThread, android.app.ActivityThread$AppBindData) (ActivityThread.java:-1)
at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1528)
at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:102)
at void android.os.Looper.loop() (Looper.java:154)
at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6077)
at java.lang.Object java.lang.reflect.Method.invoke!(java.lang.Object, java.lang.Object[]) (Method.java:-2)
at void com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run() (ZygoteInit.java:866)
at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:756)
Caused by: java.lang.ClassNotFoundException: Didn't find class "android.app.job.JobServiceEngine" on path: DexPathList[[zip file "/data/app/{myPackageNameHidden}-1/base.apk", zip file "/data/app/{myPackageNameHidden}-1/split_lib_dependencies_apk.apk", zip file "/data/app/{myPackageNameHidden}-1/split_lib_slice_0_apk.apk", zip file "/data/app/{myPackageNameHidden}-1/split_lib_slice_1_apk.apk", zip file "/data/app/{myPackageNameHidden}-1/split_lib_slice_2_apk.apk", zip file "/data/app/{myPackageNameHidden}-1/split_lib_slice_3_apk.apk", zip file "/data/app/{myPackageNameHidden}-1/split_lib_slice_4_apk.apk", zip file "/data/app/{myPackageNameHidden}-1/split_lib_slice_5_apk.apk", zip file "/data/app/{myPackageNameHidden}-1/split_lib_slice_6_apk.apk", zip file "/data/app/{myPackageNameHidden}-1/split_lib_slice_7_apk.apk", zip file "/data/app/{myPackageNameHidden}-1/split_lib_slice_8_apk.apk", zip file "/data/app/{myPackageNameHidden}-1/split_lib_slice_9_apk.apk"],nativeLibraryDirectories=[/data/app/{myPackageNameHidden}-1/lib/x86, /system/lib, /vendor/lib]]
at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:56)
at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:380)
05-30 12:44:34.294 21582-21582/? I/art: at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312)
at void com.evernote.android.job.JobRescheduleService.startService(android.content.Context) (JobRescheduleService.java:44)
at void com.evernote.android.job.JobManager.<init>(android.content.Context) (JobManager.java:149)
at com.evernote.android.job.JobManager com.evernote.android.job.JobManager.create(android.content.Context) (JobManager.java:102)
at void {myPackageNameHidden}.MyAppNameApplication.onCreate() (MyAppNameApplication.java:36)
at void android.app.Instrumentation.callApplicationOnCreate(android.app.Application) (Instrumentation.java:1024)
at void android.app.ActivityThread.handleBindApplication(android.app.ActivityThread$AppBindData) (ActivityThread.java:5361)
at void android.app.ActivityThread.-wrap2(android.app.ActivityThread, android.app.ActivityThread$AppBindData) (ActivityThread.java:-1)
at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1528)
at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:102)
at void android.os.Looper.loop() (Looper.java:154)
at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:6077)
at java.lang.Object java.lang.reflect.Method.invoke!(java.lang.Object, java.lang.Object[]) (Method.java:-2)
at void com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run() (ZygoteInit.java:866)
at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:756)
I haven't seen this issue before. It seems like a problem with the support library? Honestly, I don't know what I should do.
Your library should be OK with v4, right?
com.android.support:support-v4:27.1.1
Yes. I'll try to dig tomorrow if there is a way to ignore this error.
I've just upgraded android-job to 1.2.6 from 1.2.4.
I'll try also 1.2.4 tomorrow and see if this error is still there.
But yeah, it looks like some kind of problem with support library 27.1.1. But this is the latest one (stable).
Can this issue be closed?
Yes. Please, close this issue. I'm investigating this. It's not crashing, just showing in logs and as you said. It's support library issue. I need some more time to check other versions of support libs. I'll migrate also to 28 and let you know.
I have the same problem when using AppMetrica
YandexMetricaConfig.Builder configBuilder = YandexMetricaConfig.newConfigBuilder(API_KEY);
YandexMetrica.activate(getApplicationContext(), configBuilder.build());
YandexMetrica.enableActivityAutoTracking(this);
YandexMetricaPush.init(getApplicationContext());
I had the same problem with com.android.support:appcompat-v7:28.0.0.
It kept showing an error in logs Rejecting re-init on previously-failed class java.lang.Class<android.support.v4.view.ViewCompat$OnUnhandledKeyEventListenerWrapper>: java.lang.NoClassDefFoundError
This is resolved by adding below to app build.gradle
configurations.all {
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
def requested = details.requested
if (requested.group == "com.android.support") {
if (!requested.name.startsWith("multidex")) {
details.useVersion "27.+"
}
}
}
}
Most helpful comment
I had the same problem with com.android.support:appcompat-v7:28.0.0.
It kept showing an error in logs
Rejecting re-init on previously-failed class java.lang.Class<android.support.v4.view.ViewCompat$OnUnhandledKeyEventListenerWrapper>: java.lang.NoClassDefFoundErrorThis is resolved by adding below to app build.gradle