Android 5 上的错误 NoClassDefFoundError 但它正在处理更高的 Android 版本,如 8、9、10

Error NoClassDefFoundError on Android 5 but it's Working on Higher Android Versions like 8, 9, 10

由于这个错误,我有一段时间很沮丧,我有一个 Android 应用程序,它在我的 phone(android 版本 8)和我妈妈上运行良好(版本 10)但不能在我的姐妹平板电脑上使用 android 版本 5。当应用程序要创建一个 ClientConfig 对象以在输入 phone 注册号码后发送短信时发生错误。它是:

Method threw 'java.lang.NoClassDefFoundError' exception.

这里是堆栈跟踪:

0 = org.glassfish.jersey.client.ClientConfig$State.<init>(ClientConfig.java:160)
1 = org.glassfish.jersey.client.ClientConfig.<init>(ClientConfig.java:515)
2 = com.xyz.asd.services.UserServices.RegisterNewUser(UserServices.java:48)

还有原因说:

java.lang.NoClassDefFoundError: org.glassfish.jersey.model.internal.CommonConfig

虽然我能看到有

jersey-common-2.27.jar and I can locate CommonConfig on the package org.glassfish.jersey.model.internal.

这些是一些设置:

   compileSdkVersion 30
    minSdkVersion 14
    targetSdkVersion 30
    multiDexEnabled true

我已经清理了 Android Studio 的 gradle 和所有缓存,清理了项目,使用了一些 Dex 选项,但没有任何反应。在发送之前阅读有关堆栈溢出的 NoClassDefFoundError 的所有相关问题,并获得增益。

我将不胜感激...

在谷歌搜索和尝试一些方法后,糖救了我!

compileOptions {
        coreLibraryDesugaringEnabled true
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

然后我们需要添加:

dependencies {
    coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.0.9'
    ....
}

它工作正常...

这里是糖的一些描述: java-8-in-android-apps 这是开发人员的资源: Use Java 8 language features and APIs