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

升级AGP 8后Admob初始化触发VerifyError崩溃问题

AGP 8升级后Play Store上线MobileAds.initialize()触发VerifyError崩溃修复方案

问题背景

  • 升级至AGP 8后,发布前所有测试设备验证发布版无异常
  • 上线后大量用户反馈App启动时调用MobileAds.initialize()触发VerifyError崩溃
  • 本地无法复现Play Store版本问题,推测与R8 fullmode混淆优化有关

错误堆栈

Caused by java.lang.VerifyError: 验证器拒绝类 com.google.android.gms.internal.ads.n5: void com.google.android.gms.internal.ads.n5.run() 验证失败: void com.google.android.gms.internal.ads.n5.run(): [0x1CC] 寄存器v0类型为Reference: org.json.JSONException,但预期为Reference: java.lang.RuntimeException ('com.google.android.gms.internal.ads.n5'的声明出现在/data/app/~~-HTkGgTIIyFu3bol3jx5Kg==/com.ggstudios.lolcatalyst-2tQJ9j60maqX7qzcVkkobg==/base.apk)
       at com.google.android.gms.internal.ads.zzfus.<clinit>(com.google.android.gms:play-services-ads@@22.0.0)
       at com.google.android.gms.internal.ads.zzfvj.<init>(com.google.android.gms:play-services-ads@@22.0.0:2)
       at com.google.android.gms.internal.ads.zzfvj.zzf(zzfvj.java:1)
       at com.google.android.gms.internal.ads.zzftc.newTaskFor(com.google.android.gms:play-services-ads@@22.0.0:1)
       at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:117)
       at com.google.android.gms.internal.ads.zzftc.zza(com.google.android.gms:play-services-ads@@22.0.0)
       at com.google.android.gms.ads.internal.util.zzj.zzr(com.google.android.gms:play-services-ads@@22.0.0:4)
       at com.google.android.gms.internal.ads.zzbyj.zzs(com.google.android.gms:play-services-ads@@22.0.0:3)
       at com.google.android.gms.internal.ads.zzcgd.zzC(com.google.android.gms:play-services-ads@@22.0.0:9)
       at com.google.android.gms.internal.ads.zzcgd.zza(com.google.android.gms:play-services-ads@@22.0.0:1)
       at com.google.android.gms.ads.internal.ClientApi.zzg(com.google.android.gms:play-services-ads@@22.0.0:2)
       at com.google.android.gms.ads.internal.client.zzaq.zzb(com.google.android.gms:play-services-ads-lite@@22.0.0:2)
       at com.google.android.gms.ads.internal.client.zzax.zze(com.google.android.gms:play-services-ads-lite@@22.0.0:1)
       at com.google.android.gms.ads.internal.client.zzax.zzd(com.google.android.gms:play-services-ads-lite@@22.0.0:9)
       at com.google.android.gms.ads.internal.client.zzej.zzz(com.google.android.gms:play-services-ads-lite@@22.0.0:3)
       at com.google.android.gms.ads.internal.client.zzej.zzm(zzej.java:8)
       at com.google.android.gms.ads.MobileAds.initialize(com.google.android.gms:play-services-ads-lite@@22.0.0:3)
       at com.ggstudios.lolcatalyst.MainApplication.onCreate(MainApplication.kt:142)
       at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1192)
       at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6712)
       at android.app.ActivityThread.access$1300(ActivityThread.java:237)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913)
       at android.os.Handler.dispatchMessage(Handler.java:106)
       at android.os.Looper.loop(Looper.java:223)
       at android.app.ActivityThread.main(ActivityThread.java:7656)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)

修复方案

  1. 添加ProGuard规则避免错误混淆
    问题源于R8 fullmode在优化Google Ads SDK内部类时,错误地将JSONException类型转换为RuntimeException,导致类加载时验证失败。在proguard-rules.pro中添加以下规则:

    # 保留Google Ads SDK内部类,防止R8错误优化
    -keep class com.google.android.gms.internal.ads.** { *; }
    

    若想更精准,可仅保留出错的类和方法:

    -keep class com.google.android.gms.internal.ads.n5 {
        void run();
    }
    
  2. 升级Google Ads SDK版本
    旧版本的Google Ads SDK可能存在与AGP 8/R8 fullmode的兼容性问题,建议升级至最新稳定版,官方通常会修复这类混淆相关的bug。

  3. 验证修复效果
    构建发布版后,通过Android Studio的App Bundle Explorer检查混淆后的类结构,或安装Play Store签名后的包在真实设备上测试,确保崩溃不再出现。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 14:17:29