Jump to content

java.lang.NoClassDefFoundError: Failed resolution of: Ljavax/xml/bind/DatatypeConverter


nglazkov

Recommended Posts

Posted

This is only happening with Android 9 devices. Using the evernote android sdk.

I've upgraded my targetSdkVersion to 28 and migrated to androidX and now I'm catching this issue in crashlytics with this stacktrace:

Fatal Exception: java.lang.NoClassDefFoundError: Failed resolution of: Ljavax/xml/bind/DatatypeConverter;
   at org.scribe.services.DatatypeConverterEncoder.encode(DatatypeConverterEncoder.java:10)
   at org.scribe.services.HMACSha1SignatureService.bytesToBase64String(HMACSha1SignatureService.java:51)
   at org.scribe.services.HMACSha1SignatureService.doSign(HMACSha1SignatureService.java:46)
   at org.scribe.services.HMACSha1SignatureService.getSignature(HMACSha1SignatureService.java:32)
   at org.scribe.oauth.OAuth10aServiceImpl.getSignature(OAuth10aServiceImpl.java:151)
   at org.scribe.oauth.OAuth10aServiceImpl.addOAuthParams(OAuth10aServiceImpl.java:75)
   at org.scribe.oauth.OAuth10aServiceImpl.getRequestToken(OAuth10aServiceImpl.java:55)
   at org.scribe.oauth.OAuth10aServiceImpl.getRequestToken(OAuth10aServiceImpl.java:40)
   at org.scribe.oauth.OAuth10aServiceImpl.getRequestToken(OAuth10aServiceImpl.java:45)
   at com.evernote.client.android.EvernoteOAuthHelper.createRequestToken(EvernoteOAuthHelper.java:106)
   at com.evernote.client.android.EvernoteOAuthHelper.startAuthorization(EvernoteOAuthHelper.java:127)
   at com.evernote.client.android.login.EvernoteLoginTask.startAuthorization(EvernoteLoginTask.java:144)
   at com.evernote.client.android.login.EvernoteLoginTask.execute(EvernoteLoginTask.java:51)
   at com.evernote.client.android.login.EvernoteLoginTask.execute(EvernoteLoginTask.java:23)
   at net.vrallev.android.task.Task.executeInner(Task.java:67)
   at net.vrallev.android.task.TaskExecutor$TaskRunnable.run(TaskExecutor.java:191)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
   at java.lang.Thread.run(Thread.java:764)
Caused by java.lang.ClassNotFoundException: Didn't find class "javax.xml.bind.DatatypeConverter" on path: DexPathList[[zip file "/data/app/com.appName-wW-VAgs8nrHvdZ5Jsbu0Ag==/base.apk"],nativeLibraryDirectories=[/data/app/com.appName-wW-VAgs8nrHvdZ5Jsbu0Ag==/lib/arm64, /data/app/com.appName-wW-VAgs8nrHvdZ5Jsbu0Ag==/base.apk!/lib/arm64-v8a, /system/lib64]]
   at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:134)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
   at org.scribe.services.DatatypeConverterEncoder.encode(DatatypeConverterEncoder.java:10)
   at org.scribe.services.HMACSha1SignatureService.bytesToBase64String(HMACSha1SignatureService.java:51)
   at org.scribe.services.HMACSha1SignatureService.doSign(HMACSha1SignatureService.java:46)
   at org.scribe.services.HMACSha1SignatureService.getSignature(HMACSha1SignatureService.java:32)
   at org.scribe.oauth.OAuth10aServiceImpl.getSignature(OAuth10aServiceImpl.java:151)
   at org.scribe.oauth.OAuth10aServiceImpl.addOAuthParams(OAuth10aServiceImpl.java:75)
   at org.scribe.oauth.OAuth10aServiceImpl.getRequestToken(OAuth10aServiceImpl.java:55)
   at org.scribe.oauth.OAuth10aServiceImpl.getRequestToken(OAuth10aServiceImpl.java:40)
   at org.scribe.oauth.OAuth10aServiceImpl.getRequestToken(OAuth10aServiceImpl.java:45)
   at com.evernote.client.android.EvernoteOAuthHelper.createRequestToken(EvernoteOAuthHelper.java:106)
   at com.evernote.client.android.EvernoteOAuthHelper.startAuthorization(EvernoteOAuthHelper.java:127)
   at com.evernote.client.android.login.EvernoteLoginTask.startAuthorization(EvernoteLoginTask.java:144)
   at com.evernote.client.android.login.EvernoteLoginTask.execute(EvernoteLoginTask.java:51)
   at com.evernote.client.android.login.EvernoteLoginTask.execute(EvernoteLoginTask.java:23)
   at net.vrallev.android.task.Task.executeInner(Task.java:67)
   at net.vrallev.android.task.TaskExecutor$TaskRunnable.run(TaskExecutor.java:191)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
   at java.lang.Thread.run(Thread.java:764)

 

Is there anyone who could help me ti fix this issue?

From what I've discovered, the evernote sdk is using this library "org.scribe:scribe:1.3.7", that is quite outdated, maybe this is the issue.

Scribe Github Releases

Evernote Github build.gradle

Many thanks!

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...