gradle React Native部署旧版本的应用程序构建版本,而不是新版本

olhwl3o2  于 2023-01-21  发布在  React
关注(0)|答案(1)|浏览(149)

问题

我正在使用Fastlane构建我的 * React Native * 应用程序并将其部署到 * App Center *(Android)。但它似乎卡在了某个特定的旧版本上,我在开发过程中所做的所有更改都从未显示出来。
编号
这是我用来部署的通道:

lane :beta do
    ensure_git_status_clean
    bump
    store_password = ENV['KEYSTORE_PASSWORD']
    releaseFilePath = File.join(Dir.pwd, '..', 'my-release-key.keystore')

    gradle(task: 'clean')
    gradle(
      task: 'bundle',
      build_type: 'Release',
      properties: {
        'android.injected.signing.store.file' => releaseFilePath,
        'android.injected.signing.store.password' => store_password,
        'android.injected.signing.key.alias' => 'my-key-alias',
        'android.injected.signing.key.password' => store_password
      }
    )

    appcenter_upload(
      owner_type: 'organization',
      mandatory_update: true,
      api_token: ENV['TEST_APPCENTER_API_TOKEN'],
      owner_name: ENV['TEST_APPCENTER_OWNER_NAME'],
      app_name: ENV['APPCENTER_APP_NAME'],
      file: './app/build/outputs/bundle/release/app-release.aab',
      notify_testers: true,
      destinations: 'Mio',
      release_notes: changelog_from_git_commits
    )
  end

其他

我检查了旧的构建版本是否被删除。每次脚本运行时,构建文件夹都会通过gradle(task: "clean")被删除,并生成一个新的构建文件夹。那么为什么我的旧代码仍然显示出来呢?这让我完全疯了。我试着在文件中搜索旧代码,但到处都找不到。有人知道为什么会发生这种情况吗?

hts6caw3

hts6caw31#

好了,我们找到了解决问题的方法-希望这能帮助你和/或其他有类似问题的人。
我们的问题是index.android.bundle文件(位于/android/app/src/main/assets/)没有更新,因此没有与其他代码更改沿着推送到AppCenter。我们注意到了这一点,首先删除了该文件,然后在终端中运行以下命令:

react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res

并在index.android.bundle-file中看到git-diff。将这些更改推送到Azure Devops和AppCenter后,设备上安装的.apk实际上包含了最新的更改。

相关问题