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

升级Google Play Services至12.0.1后AdMob出现java.lang.VerifyError求助

解决Google Play Services 12.0.1升级后的VerifyError问题

嗨,我之前处理过类似的问题,从调用栈里的com.google.android.gms.ads相关类来看,这个java.lang.VerifyError大概率是升级到12.0.1版本后,广告模块的代码混淆、依赖冲突或者缓存问题导致的。给你几个亲测有效的解决方案:

  • 修正混淆规则
    报错的o.a是混淆后的类名,应该是Google Ads相关的类没被正确保留。打开你的proguard-rules.pro文件,添加以下混淆规则:

    -keep class com.google.android.gms.ads.** { *; }
    -keep class com.google.android.gms.common.** { *; }
    -keep class com.google.android.gms.tasks.** { *; }
    

    还要注意不要误删Google官方推荐的混淆配置,如果你用了AndroidX相关组件,也要确保混淆规则同步更新。

  • 彻底清理并重建项目
    缓存残留很容易导致依赖不兼容,按这个流程操作:

    1. 点击Android Studio顶部菜单栏的Build -> Clean Project
    2. 接着选择Build -> Rebuild Project
    3. 也可以手动删除项目根目录下的.gradle文件夹和模块内的build文件夹,再重新同步项目
  • 统一所有Google Play Services依赖版本
    一定要确保项目中所有Google Play Services相关的依赖版本完全一致,比如同时用到广告、认证模块的话,都要指定12.0.1:

    implementation 'com.google.android.gms:play-services-ads:12.0.1'
    implementation 'com.google.android.gms:play-services-auth:12.0.1'
    

    混合不同版本的依赖会导致字节码冲突,触发验证错误。

  • 检查minSdkVersion配置
    Google Play Services 12.0.1对最低SDK版本有要求,确保你模块的build.gradle中minSdkVersion不低于16,如果之前设置的版本更低,需要调整后重新编译。

  • 关闭Android Studio即时运行
    即时运行有时候会生成不完整的字节码,导致验证失败。关闭路径:File -> Settings -> Build, Execution, Deployment -> Instant Run,取消所有勾选的选项,重启IDE后再重建项目。

如果以上方法都没解决,你可以先暂时降级回11.8.0版本保证业务正常,同时查看Google Play Services的官方Release Notes,确认12.0.1版本有没有已知的兼容性问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 03:42:19