javascript - 如何添加到 expo 托管项目的 build.gradle 中的默认配置?

标签 javascript android react-native expo

我需要将以下行添加到我的 expo 托管项目的 android build.gradle 中的默认配置

{ missingDimensionStrategy 'store', 'play' }

我相信我需要制作一个模组/插件来添加此内容,但这会是什么样子?

这是我迄今为止尝试实现的:https://docs.expo.dev/guides/config-plugins/#mod-plugins

我相信使用 withAppBuildGradle 是最好的选择,但我不确定如何专门在 android 默认配置中添加该行。

最佳答案

如果问题仍然有效,这就是您如何使用 Expo 修改流程来实现它。 从 Expo SDK 41 开始,您可以使用 Config plugins

如果你想向 android gradle 注入(inject)属性,这就是实现的方法。

  1. 在根目录中创建一个名为 injectedAndroidConfig.js 的新文件
const { withAppBuildGradle } = require('@expo/config-plugins');    

module.exports = function withAndroidStrategiesPlugin(config) {
    return withAppBuildGradle(config, (config) => {
        config.modResults.contents += `
            android {
                compileSdkVersion 31
                buildToolsVersion "31.0.0"
       
                defaultConfig {
                    targetSdkVersion 31
                    missingDimensionStrategy "store", "play"
                }
            }
        `;
        return config;
      });
    };

这里你还可以设置你想要的其他属性(例如sdk版本等)

  • 您应该更新您的 app.json 以使用您创建的插件
  • {
      "expo": {
        "name": "appName",
        [...]
        "plugins": ["./injectedAndroidConfig", "react-native-iap"]
       }
    }
    
    

    关于javascript - 如何添加到 expo 托管项目的 build.gradle 中的默认配置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74942623/

    相关文章:

    javascript - Chrome 中的按键模拟正常触发,但不是正确的按键

    javascript - 在javascript中查找具有最高值的对象属性

    javascript - 使用 ajax 分页的 Google Rich Snippet

    java - 具有基本形式的明确 Intent 会使应用程序崩溃

    java - RecyclerView 返回的 ListAdapter 应该是抽象错误

    android - 低于 21 的较低 api 级别的 translationZ 的替代方案是什么

    ios - React-Native + Redux + ImmutableJS 内存泄漏

    javascript - 如何使用 setState() 修改 React Native 中的多维数组?

    javascript - JQuery.Validate 干净的方法来检查一个 ul 是否至少有一个 li 项目

    react-native - Reducer 在初始化期间返回 undefined 但在 reducer 开关中返回 initialState 作为默认值