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

接入Google AdMob后导入InterstitialAd报cannot find symbol错误如何解决?

导入InterstitialAd类编译报错解决方案

报错信息如下:

error: cannot find symbol
import com.google.android.gms.ads.InterstitialAd;
^
symbol:   class InterstitialAd
location: package com.google.android.gms.ads
报错产生原因
  • 核心原因是Google AdMob 20.0.0及更高版本对插屏广告API做了破坏性更新:原com.google.android.gms.ads.InterstitialAd类被完全移除,相关功能迁移到了新的包路径下,原有导入语句直接失效。
  • 次要可能原因:项目Gradle中AdMob依赖配置缺失、多依赖版本冲突、Gradle同步未完成。
排查修复步骤
  • 第一步:确认AdMob依赖版本
    打开app模块下的build.gradle文件,查看com.google.android.gms:play-services-ads依赖的版本号:
    • 若版本号≥20.0.0,删除原有旧导入语句,替换为新版导入:
      import com.google.android.gms.ads.interstitial.InterstitialAd;
      import com.google.android.gms.ads.interstitial.InterstitialAdLoadCallback;
      
    • 若不想调整业务代码,可直接将依赖版本降级到19.8.0,配置如下:
      implementation 'com.google.android.gms:play-services-ads:19.8.0'
      
  • 第二步:适配新版API(仅使用20.0.0+版本时需要)
    新版插屏广告不再支持直接创建实例,需通过异步load方法加载,示例代码:
    AdRequest adRequest = new AdRequest.Builder().build();
    InterstitialAd.load(上下文, "你的插屏广告单元ID", adRequest, new InterstitialAdLoadCallback() {
        @Override
        public void onAdLoaded(@NonNull InterstitialAd interstitialAd) {
            // 加载成功,保存返回的interstitialAd实例,需要展示时调用interstitialAd.show(activity)即可
        }
        @Override
        public void onAdFailedToLoad(@NonNull LoadAdError loadAdError) {
            // 加载失败逻辑处理
        }
    });
    
  • 第三步:重新同步构建项目
    修改完成后执行File > Sync Project with Gradle Files同步依赖,再执行Build > Clean Project清理缓存后重新编译即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 09:15:03