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

升级com.google.android.gms:play-services-ads至22.0.0构建失败求助

解决play-services-ads 22.0.0构建时AsmClassesTransform的ArrayIndexOutOfBoundsException错误

以下是针对性的修复步骤,按顺序尝试:

  • 升级Desugar工具版本
    你当前使用的desugar_jdk_libs:2.0.3版本较旧,与play-services-ads 22.0.0的字节码处理逻辑不兼容。将其升级到最新稳定版,比如:

    coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:3.0.4'
    
  • 升级Android Gradle Plugin(AGP)和Gradle版本
    play-services-ads 22.0.0依赖较新的AGP特性,旧版本AGP的AsmClassesTransform无法正确处理其内部类的字节码:

    1. 在项目根目录的build.gradle中升级AGP版本到7.4.x及以上:
      plugins {
          id 'com.android.library' version '7.4.2' apply false
          // 其他插件配置
      }
      
    2. 在gradle/wrapper/gradle-wrapper.properties中升级Gradle版本到7.5及以上:
      distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip
      
  • 清理构建缓存
    旧构建缓存可能残留冲突文件,执行以下命令清理后重新构建:

    ./gradlew cleanBuildCache clean assembleDebug
    
  • 检查minSdkVersion配置
    确保你的minSdkVersion至少为19(play-services-ads 22.0.0的最低要求),若根项目配置低于该版本,需调整至符合要求的值。

  • 临时禁用Jetifier排查(谨慎操作)
    若以上步骤无效,可尝试在gradle.properties中临时禁用Jetifier,确认是否为Jetifier与Desugar的冲突导致:

    android.enableJetifier=false
    

    注意:禁用Jetifier可能引发其他依赖兼容性问题,仅用于排查,排查完成后建议恢复配置。

你constraints中配置的androidx.work:work-runtime:2.7.0是Android 12广告运行必需的,无需移除,问题根源不在此配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 15:15:10