Jump to content

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


nglazkov

Recommended Posts

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!

Link to comment

Archived

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

×
×
  • Create New...