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

升级AGP 8后出现R8缺失类问题(google.protobuf与java.awt相关)

建议升级的库及排查方向

1. 针对Protobuf相关缺失类

直接升级**com.google.protobuf:protobuf-java**(Android项目用com.google.protobuf:protobuf-android)到最新稳定版(比如3.25.x及以上)。
这个缺失类属于Google Play服务相关的自动生成Protobuf类,旧版本Protobuf库和kotlinx-coroutines的FastServiceLoader交互时存在兼容性问题,新版本会修复这类服务加载的适配逻辑,避免找不到生成类的情况。

2. 针对JNA相关的AWT类缺失

直接升级**net.java.dev.jna:jna和net.java.dev.jna:jna-platform**到最新稳定版(比如5.14.x及以上)。
报错里的AWT类是被JNA的Native$AWT引用的,旧版本JNA没有针对Android环境做足够适配,会在非桌面场景下仍尝试加载AWT相关类;新版本JNA优化了跨平台逻辑,不会强制依赖AWT类,从根源上解决这类缺失问题。

额外排查建议

  • 检查依赖树:用Gradle命令./gradlew app:dependencies(Android)或Maven命令mvn dependency:tree查看这些库的依赖来源,确认是否有间接引入的旧版本,必要时用exclude规则强制排除旧版本,确保使用升级后的最新版。
  • 补充ProGuard/R8规则(优先升级库,规则作为补充):如果升级后仍有问题,可添加以下规则避免类被误删:
    -keep class com.google.protobuf.java_com_google_android_gmscore_sdk_target_granule__proguard_group_gtm_N1281923064GeneratedExtensionRegistryLite$Loader { *; }
    -keep class com.sun.jna.Native$AWT { *; }
    
  • 升级Google Play服务库:如果项目依赖com.google.android.gms:play-services-*系列库,也建议同步升级到最新稳定版,这个缺失类和GMSSDK的Protobuf生成绑定,新版本Play服务会修复相关类加载问题。

内容的提问来源于stack exchange,提问作者z.g.y

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 06:05:58