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

安装react-native-google-mobile-ads后EAS构建失败求助(Expo SDK48)

Expo SDK 48 + react-native-google-mobile-ads EAS构建失败解决方案

iOS构建失败解决(提示缺失ios_app_id)

  • 检查app.json配置结构:确保ios_app_id和android_app_id正确配置在react-native-google-mobile-ads插件节点内,而非Expo根节点。正确示例:
    {
      "expo": {
        "plugins": [
          [
            "react-native-google-mobile-ads",
            {
              "ios_app_id": "ca-app-pub-XXXXXXXXXXXXXXXX~XXXXXXXXXX",
              "android_app_id": "ca-app-pub-XXXXXXXXXXXXXXXX~XXXXXXXXXX"
            }
          ]
        ]
      }
    }
    
  • 验证ID格式:确认ID是AdMob后台提供的标准格式(包含~分隔符)。
  • 清除缓存并重新预构建:执行npx expo prebuild --clean后重新触发EAS构建。

Android构建失败解决(googleMobileAdsJson缺失 + compileSdkVersion未指定)

解决googleMobileAdsJson问题

  • 测试阶段可跳过检查:在插件配置中添加"skip_google_mobile_ads_json": true,示例:
    {
      "expo": {
        "plugins": [
          [
            "react-native-google-mobile-ads",
            {
              "android_app_id": "ca-app-pub-XXXXXXXXXXXXXXXX~XXXXXXXXXX",
              "skip_google_mobile_ads_json": true
            }
          ]
        ]
      }
    }
    
  • 正式环境配置:将Google Cloud下载的google-services.json放在项目根目录,确保已提交至代码仓库(未被.gitignore忽略)。

解决compileSdkVersion未指定问题

  • 在app.json的Android配置中指定版本(Expo SDK 48对应compileSdkVersion 33):
    {
      "expo": {
        "android": {
          "compileSdkVersion": 33,
          "targetSdkVersion": 33
        }
      }
    }
    
  • 或在android/build.gradle的buildscript.ext中统一配置:
    buildscript {
      ext {
        compileSdkVersion = 33
        targetSdkVersion = 33
        minSdkVersion = 21
      }
    }
    

通用排查步骤

  • 确保依赖版本兼容:安装适配Expo SDK 48的react-native-google-mobile-ads版本(推荐^11.8.0),执行npx expo install react-native-google-mobile-ads完成安装。
  • 检查eas.json:确认构建配置未覆盖AdMob相关设置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 08:57:07