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

升级Compile SDK到35后出现<nulltype>无法转为Class<?>错误求助

解决Compile SDK 35升级后Room报<nulltype> cannot be represented as Class<?>错误
  • 优先升级Room依赖版本
    这个错误基本是Room旧版本与SDK 35的兼容性问题,尤其是Room在null类型映射逻辑上的适配缺陷。把Room相关的所有依赖(runtime、compiler、ktx等)升级到2.6.1及以上的稳定版,示例配置如下:

    // Java项目依赖
    implementation "androidx.room:room-runtime:2.6.1"
    annotationProcessor "androidx.room:room-compiler:2.6.1"
    // Kotlin项目替换annotationProcessor为kapt
    // kapt "androidx.room:room-compiler:2.6.1"
    implementation "androidx.room:room-ktx:2.6.1"
    
  • 同步升级Gson(若结合Room使用)
    如果项目里用了Room的TypeConverter配合Gson做序列化,旧版Gson可能和SDK 35的字节码处理逻辑冲突。建议把Gson升级到2.10.1及以上版本:

    implementation "com.google.code.gson:gson:2.10.1"
    
  • 彻底清理重建项目
    升级依赖后必须清除旧缓存,避免残留编译问题:

    • 点击Android Studio顶部Build > Clean Project
    • 接着执行Build > Rebuild Project
    • 也可以手动删除项目根目录的.gradle和build文件夹,再重新同步Gradle
  • 排查Room实体类与转换器
    检查实体类和自定义TypeConverter的null值处理:

    • Java实体类中允许为null的字段要添加@Nullable注解,Kotlin则用?标记可空类型
    • 确保TypeConverter能正确处理null输入和输出,不要出现类型转换时的空指针或类型不匹配

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 11:19:59