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

如何在Expo EAS Build中无需编辑android/app/build.gradle添加manifestPlaceholders?

如何在Expo EAS Build中无需编辑android/app/build.gradle添加manifestPlaceholders?

我之前用Expo SDK 53的Managed Workflow搭配EAS Build时,也碰到过一模一样的问题!当时想加appAuthRedirectScheme这类manifest占位符,直接在app.json里塞android.manifestPlaceholders结果被expo-doctor报错,别提有多头疼了。不过后来发现Expo官方其实有完美的解决方案,不用碰任何原生文件,下面就一步步教你怎么做:


核心方案:使用expo-build-properties配置插件

这是Expo官方维护的插件,专门用来在Managed Workflow里扩展原生构建配置,添加Android的manifestPlaceholders完全不在话下。

1. 先安装插件依赖

打开终端,在项目根目录运行:

npx expo install expo-build-properties

用npx expo install而不是直接用npm/yarn装的好处是,它会自动匹配你当前Expo SDK的兼容版本,避免版本冲突踩坑。

2. 在app.json/app.config.js里配置插件

打开你的app.json(如果用动态配置就改app.config.js),在expo.plugins数组里添加以下配置:

{
  "expo": {
    // 保留你项目里已有的其他配置...
    "plugins": [
      [
        "expo-build-properties",
        {
          "android": {
            "manifestPlaceholders": {
              "appAuthRedirectScheme": "com.yourapp.custom.auth" // 替换成你实际需要的scheme
            }
          }
        }
      ]
    ]
  }
}

如果是用app.config.js,写法类似,只是改成JS对象格式:

export default {
  expo: {
    // 保留你项目里已有的其他配置...
    plugins: [
      [
        'expo-build-properties',
        {
          android: {
            manifestPlaceholders: {
              appAuthRedirectScheme: 'com.yourapp.custom.auth'
            }
          }
        }
      ]
    ]
  }
};

3. 验证&触发构建

配置完之后,先跑一下npx expo doctor,这次应该不会再报schema错误了!
之后直接触发EAS Build就行:

eas build --platform android

EAS在构建过程中会自动通过这个插件,把你配置的manifestPlaceholders注入到Android的build.gradle的defaultConfig里,全程不用你手动碰原生文件。


为什么直接在app.json里加会报错?

因为Expo的app.json官方schema里本来就没有android.manifestPlaceholders这个字段,expo-doctor会严格校验配置的合法性,所以直接加肯定会不通过。必须通过官方的配置插件来扩展原生配置,这也是Managed Workflow里修改原生配置的标准姿势。

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.08 14:02:57