收到错误“您的项目必须在 app.json 中设置 Android 包”,尽管我在 app.json 中设置了 android 包

jak*_*jak 9 windows react-native expo

我正在使用 expo 构建一个 React Native 项目。我使用的是 Windows,因此我启用 WSL 并从 microsoft store 安装 ubuntu。接下来我运行 expo build:android。我收到以下错误,

Your project must have an Android package set in app.json.

所以我查看了博览会教程页面,它说要添加,

"android": {
    "package": "com.yourcompany.yourappname"
}
Run Code Online (Sandbox Code Playgroud)

我将其添加到app.json文件中,但出现相同的错误。我完全不知道为什么错误不会消失,因为我已经查看了教程页面和我的代码,并且我显然拥有所有必需的字段。

这是我一直在查看的教程页面:https ://docs.expo.io/versions/latest/distribution/building-standalone-apps/

无论如何,这是我的 app.json 文件,

{
  "expo": {
    "name": "First React App",
    "slug": "FirstReactNativeApp",
    "privacy": "public",
    "sdkVersion": "35.0.0",
    "version": "1.0.0",
    "orientation": "portrait",
    "icon": "./assets/icon.png",
    "ios": {
      "bundleIdentifier": "com.yourcompany.yourappname",
      "supportsTablet": true,
    },
    "android": {
      "package": "com.yourcompany.yourappname",
    },
    "platforms": [
      "ios",
      "android",
      "web"
    ],
    "splash": {
      "image": "./assets/splash.png",
      "resizeMode": "contain",
      "backgroundColor": "#ffffff"
    },
    "updates": {
      "fallbackToCacheTimeout": 0
    },
    "assetBundlePatterns": [
      "**/*"
    ],
  }
}
Run Code Online (Sandbox Code Playgroud)

Kyl*_*ter 19

对于访问此页面的任何人,请将以下内容添加到您的 app.json 中。

"android": {
  "package": "com.yourcompany.yourappname",
  "versionCode": 1
}
Run Code Online (Sandbox Code Playgroud)


jim*_*man 6

我在遇到同样的问题后刚刚到达这里。事实证明我app.config.js没有传递来自 的配置app.json

我通过更改修复了它:

export default {
  extra: {
    [...]
  },
};
Run Code Online (Sandbox Code Playgroud)

到:

export default ({config}) => {
  return Object.assign(config,
    {
      extra: {
        [...]
      }
    });
};
Run Code Online (Sandbox Code Playgroud)