EAS 在构建中忽略本地版本代码

问题描述 投票:0回答:3

我最近将我们的 Expo 项目从 sdk 44 更新到了 46。 在这个过程中,我从

Expo build:android
变成了
eas build -p android

一切都按预期运行,除了版本代码未正确编译到 aab/apk 文件中,因此我无法将更新推送到 google play。

版本代码已经设置为26,因为我们确实发布了之前的版本,目前semVer为1.1.1。 EAS 也不会在仪表板中显示正确的版本代码。 我尝试设置

"appVersionSource": "local"
以及
"remote"
,但都不起作用。 (据我了解,local应该是正确的参数。

eas build
通常似乎会忽略 app.config.js 中的其他参数,例如启动图像、应用程序图标和背景颜色(为了保持简短,我没有在下面的代码示例中包含这些行)

eas.json

{
  "cli": {
    "version": ">= 2.3.0",
    "appVersionSource": "local"
  },
  "build": {
    ...
    "production": {
      "channel": "production",
      "env": {
        "APP_ENV": "production"
      },
      "android": {
        "buildType": "app-bundle",
        "image": "latest"
      }
    }
  },
  "submit": {
    "production": {}
  }
}

app.config.js

import 'dotenv/config';
    
module.exports = {
  expo: {
    name: '...',
    slug: '...',
    version: '1.1.1',
    assetBundlePatterns: ['**/*'],
    android: {
      package: '...',
      versionCode: 26,
      softwareKeyboardLayoutMode: 'pan',
    },
    extra: {
      eas: {
        projectId: '...',
      },
      releaseChannel: process.env.APP_ENV,
    },
  },
};

Eas 显示错误版本 nr

Eas shows the wrong version nr

android react-native expo version eas
3个回答
3
投票

尝试运行

npx expo prebuild
npx expo run:android
这将生成本机 Android 项目,这基本上类似于 Bare 工作流程。

请参阅以下帖子了解更多详细信息以及您可以执行的操作: https://forums.expo.dev/t/should-i-exclude-ios/63094/4


0
投票

就我而言 [sdk 47、eas-cli/3.9.2、darwin-x64、node-v19.6.1],在

"appVersionSource": "remote"
文件中使用
eas.json
,更改
runtimeVersion: { policy: 'appVersion' }
文件中的
app.config.ts
很有帮助。

更多内容请阅读

runtimeVersion
中的博览会文档


0
投票

就我而言,有时,在 app.json 代码中添加版本号似乎不起作用。为了解决这个问题,我让 Expo 自动为我处理这个问题。为此,只需添加:

"autoIncrement": true

eas.json 文件中的构建部分。例如,就我自己而言,文件的该部分如下所示:

"build": {
    "development": {
      "developmentClient": true,
      "distribution": "internal"
    },
    "preview": {
      "distribution": "internal",
      "android":{
        "buildType": "app-bundle"
      },
      "autoIncrement": true
    },
    "production": {
      "autoIncrement": true
    }

production
下的内容会自动添加。我在
preview
下添加了一个来解决这个问题。希望这对某人有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.