为了账号安全,请及时绑定邮箱和手机立即绑定

错误 java.lang.NoClassDefFoundError:

错误 java.lang.NoClassDefFoundError:

30秒到达战场 2022-05-21 16:39:24
在我的 Android 项目中,我使用的是java-diff-utils。我以这种方式将其添加到依赖项中:implementation group: 'com.github.wumpz', name: 'diffutils', version: '2.2'还尝试将其更改为:implementation 'io.github.java-diff-utils:java-diff-utils:4.0-SNAPSHOT'我有两台测试设备:一台装有Android 6.0.1的平板电脑和一台装有 Android 8.1.0 的手机。当我在手机上运行这个项目时,一切都很顺利。但是在平板电脑上,只要点击 java-diff-utils 代码,应用程序就会崩溃并出现错误    java.lang.NoClassDefFoundError: com.github.difflib.text.DiffRowGenerator$$Lambda$0    at com.github.difflib.text.DiffRowGenerator.<clinit>(DiffRowGenerator.java:52)    at com.github.difflib.text.DiffRowGenerator.create(DiffRowGenerator.java:210)    at Fragments.ProfileFragment.onCreateView(ProfileFragment.java:38)    at android.app.Fragment.performCreateView(Fragment.java:2220)    at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:973)    at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1148)    at android.app.BackStackRecord.run(BackStackRecord.java:793)    at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1535)    at android.app.FragmentManagerImpl$1.run(FragmentManager.java:482)    at android.os.Handler.handleCallback(Handler.java:739)    at android.os.Handler.dispatchMessage(Handler.java:95)    at android.os.Looper.loop(Looper.java:148)    at android.app.ActivityThread.main(ActivityThread.java:5461)    at java.lang.reflect.Method.invoke(Native Method)    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)当我使用 Sugar ORM 时,也发生了同样的问题。
查看完整描述

1 回答

?
MMTTMM

TA贡献1869条经验 获得超4个赞

您使用了java.util.function.BiPredicatein DiffRowGenerator.java:52of library(这是由于堆栈跟踪而发生崩溃的地方)。链接到。整个包java.util.function.*只能从 API 24 (Android 7.0) 开始使用。这就是为什么它适用于 Android 8 而不适用于 Android 6。有关 java 8 与 android 的兼容性的更多信息,您可以在官方文档中阅读:https ://developer.android.com/studio/write/java8-support

如果您必须使用该库,您可以选择:

  • 不支持7.0以下的安卓。

  • 使用较旧的库版本。正如我所见,该库从 2.0 版开始使用 Java 8 功能。因此,您可以尝试该库的 1.2 版。

  • Fork 库并重写所有使用不受支持的 Java 8 功能的地方。


查看完整回答
反对 回复 2022-05-21
  • 1 回答
  • 0 关注
  • 140 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信