java.lang.NoClassDefFoundError: Неудачное разрешение: Ljavax / xml / bind / DatatypeConverter - PullRequest
0 голосов
/ 19 октября 2018

Это происходит только с устройствами Android 9.Использование evernote android sdk.

Я обновил свой targetSdkVersion до 28 и перешел на androidX, и теперь я улавливаю эту проблему в сбоях с помощью этой трассировки стека:

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: Didnt 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)

Есть ли кто-нибудь, кто мог бы помочь мне решить эту проблему?Из того, что я обнаружил, evernote sdk использует эту библиотеку "org.scribe: scribe: 1.3.7", которая довольно устарела, возможно, это проблема.

Scribe Github Releases

Evernote Github Gradle

Большое спасибо!

...