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

如何在托管式Expo项目中添加Android build.gradle的missingDimensionStrategy配置

托管式Expo项目添加build.gradle defaultConfig配置的方案

1. 编写本地Expo插件(Mod)

在项目根目录新建plugins文件夹,里面创建withMissingDimensionStrategy.js文件,代码如下:

const { withAppBuildGradle } = require('@expo/config-plugins');

module.exports = function withMissingDimensionStrategy(config) {
  return withAppBuildGradle(config, async (config) => {
    if (config.modResults.language === 'groovy') {
      // 匹配defaultConfig代码块
      const defaultConfigRegex = /defaultConfig\s*{([\s\S]*?)}/;
      config.modResults.contents = config.modResults.contents.replace(
        defaultConfigRegex,
        (match, innerContent) => {
          // 避免重复添加配置
          if (!innerContent.includes("missingDimensionStrategy 'store', 'play'")) {
            return `defaultConfig {
  ${innerContent.trim()}
  missingDimensionStrategy 'store', 'play'
}`;
          }
          return match;
        }
      );
    }
    return config;
  });
};

2. 在项目配置中引入插件

打开app.json(或app.config.js),在expo.plugins数组里添加本地插件的路径:

{
  "expo": {
    "name": "你的项目名称",
    "slug": "你的项目标识",
    // 其他原有配置...
    "plugins": [
      "./plugins/withMissingDimensionStrategy.js"
    ]
  }
}

3. 验证配置是否生效

执行以下命令生成Android原生文件(仅用于验证,托管式项目不用提交这些原生文件):

npx expo prebuild --platform android

之后打开android/app/build.gradle,查看defaultConfig块里是否已经有missingDimensionStrategy 'store', 'play'这一行即可。

托管式项目通过EAS Build构建时,插件会自动执行修改,不用手动维护原生文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 13:35:19