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

升级Android Studio Flamingo等后,应用安装渠道不同触发参数化类异常

解决Play Store安装App Bundle时出现java.lang.IllegalArgumentException: class o4.b isn't parameterized异常

这个异常核心原因是R8混淆优化过程中错误移除了目标类的泛型信息:模拟器安装的包通常未经过完整的发布级混淆/优化,直接安装的APK可能是debug包或自定义了宽松混淆规则的release包,而Play Store分发的App Bundle会触发更严格的R8优化,导致泛型丢失引发报错。

以下是针对性解决方案:

  • 添加泛型保留混淆规则
    在proguard-rules.pro(或consumer-rules.pro)中,先通过build/outputs/mapping/release/mapping.txt找到混淆类o4.b对应的原始类路径,然后添加规则:

    # 保留类的泛型签名信息
    -keepattributes Signature
    # 保留原始类的所有内容(替换为实际类路径)
    -keep class com.your.package.OriginalTargetClass { *; }
    
  • 调整R8优化策略
    在Module级build.gradle中,若使用了proguard-android-optimize.txt(激进优化规则),可以替换为更保守的proguard-android.txt,避免过度优化导致泛型丢失:

    android {
        buildTypes {
            release {
                minifyEnabled true
                shrinkResources true
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            }
        }
    }
    
  • 验证混淆后的类信息
    生成App Bundle后,用Android Studio的「App Bundle Explorer」查看混淆后的class文件,确认目标类的泛型信息是否保留。若仍有问题,针对类的泛型方法单独添加保留规则:

    -keepclassmembers class com.your.package.OriginalTargetClass {
        <methods>;
    }
    
  • 排查依赖兼容性
    升级Gradle和依赖库后,部分第三方库可能与Flamingo版本的R8存在适配问题。排查最近更新的依赖,尝试回退到稳定版本,或查看库的官方文档是否有针对Android Studio Flamingo的适配说明。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 15:47:18