You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android抛出ClassNotFoundException求助:Sugar 1.5库异常排查

关于Sugar ORM 1.5触发ClassNotFoundException(JobServiceEngine)的原因分析

这个ClassNotFoundException针对android.app.job.JobServiceEngine的问题,大概率和API版本兼容性以及你使用的Sugar ORM 1.5版本的局限性有关,我来拆解几个核心触发原因:

  • API版本不匹配:JobServiceEngine是Android 8.0(API 26)专属类
    android.app.job.JobServiceEngine是Android 8.0系统才新增的系统类,而Sugar ORM 1.5版本发布于2017年,内部逻辑可能直接引用了这个类却没有做低版本兼容判断。如果你的项目minSdkVersion设置低于26,在API 26以下的设备上运行时,系统找不到这个类就会抛出异常。你可以先检查Module级build.gradle里的minSdkVersion配置,这是最常见的触发点。

  • Dex分包或混淆配置不当导致类缺失
    如果你开启了D8/R8混淆或者multiDexEnabled true的分包模式,但配置有误,可能会导致JobServiceEngine相关的类没有被打包进主Dex文件。应用启动阶段如果需要加载Sugar库的相关逻辑,而该类在非主Dex中未被及时加载,就会触发这个异常。

  • Sugar ORM版本过老的兼容性缺陷
    Sugar ORM 1.5属于较老旧的版本,后续更新的版本(比如1.6及以上)已经修复了这类低版本API兼容问题。老版本库没有针对低版本Android系统做兼容处理,硬引用了高版本系统类,自然会在低版本设备上崩溃。

快速解决建议

  1. 优先升级Sugar ORM到最新稳定版本,替换依赖为:implementation 'com.github.satyan:sugar:1.6.4'
  2. 如果无法升级库,可将项目minSdkVersion提升至26及以上
  3. 检查Dex分包配置,通过multiDexKeepProguard文件指定保留Sugar相关类,确保核心类被打包进主Dex

内容的提问来源于stack exchange,提问作者aex

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 12:29:13