`java.lang.UnsatisfiedLinkError` внутри jar-файла, который я создаю во время работы в Android 4.4. * - PullRequest
2 голосов
/ 09 июля 2019

У меня есть банка, построенная с использованием maven.Проект, из которого был создан jar-файл, не имеет собственных зависимостей.Он отлично работает на всех устройствах, кроме нескольких устройств с Android 4.4.2 и 4.4.4.Может ли кто-нибудь помочь мне с этим, прямо сейчас я могу отключить эту функцию для всех устройств ниже 5.0

Изменить 1:

Дальнейшая отладка, я обнаружил, чтоLazyHolder Реализация моего одноэлементного класса терпит неудачу, так как во время выполнения конструктор не может разрешить статический класс.

Caused by java.lang.UnsatisfiedLinkError: <muted>
       at com.a.b.controller.Controller.getInstance + 31(Controller.java:31)
       at com.a.b.controller.Controller.k + 184(Controller.java:184)
       at com.a.b.core.parser.f.m + 53(ff.java:53)
       at com.a.b.core.parser.f.n + 67(f.java:67)
       at a.b.c.d.e$classify$$inlined$use$lambda$1.invokeSuspend(e.java:90)
       at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith + 32(BaseContinuationImpl.java:32)
       at kotlinx.coroutines.DispatchedTask.run + 233(DispatchedTask.java:233)
       at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely + 594(CoroutineScheduler.java:594)
       at kotlinx.coroutines.scheduling.CoroutineScheduler.access$getSchedulerName$p + 60(CoroutineScheduler.java:60)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run + 742(CoroutineScheduler.java:742)

Редактировать 2:

Я создалисправить, передав версию Android в мою банку, а затем не использовать LazyHolder для версий менее 4.4.* или ниже.Не стесняйтесь предлагать лучшие решения.

...