无法加载脚本 - 生产版本中出现“index.android.bundle”打包错误

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

在执行一些基本更新后,我的 React Native Android 应用程序遇到了一个新的、非常令人沮丧的问题,我已经用 google 搜索了这个错误几天,但没有得到任何结果,尽管我确信这是一个简单的修复。 这种情况最近才开始发生在之前工作的、生产版本发布的应用程序上。

我在网上找到了相同错误的多个答案,但是它们都指的是开发环境,没有运行本地开发服务器等的人,运行

yarn react-native etc
的人,我们遇到的问题是在生产和用户设备中,即,在我们执行了
gradlew bundleRelease
并将签名的 .aab 资源上传到 Play 商店之后。

我们仅在生产版本的真实设备上看到此错误。 我无法在模拟器上本地开发或在 USB 调试模式下的真实设备上重现它,那里一切正常。 这让我们抓狂,因为我们几乎必须构建完整的版本 .aab 资产并部署到内部测试轨道,然后通过应用商店安装进行测试。

这几乎就像它在生产版本上的构建开发版本。

自此开始发生以来应用程序中发生的变化

  • 我们将 gradle 更新到了 7.5.1(正如 android studio 一直坚持的那样)
  • 我们将编译和目标 SDK 更新为 33(根据 OneSignal 与 Android 13 一起使用的要求)
  • 根据上述更新,我们将 NDK 版本更新为 23.1.7779620(从 21.4.7075529)。
  • 我们将 gradle 构建工具从 7.2.1 更新到 7.3.1

AndroidManifest.xml 没有任何更改

仅此而已。没有什么惊天动地的事情,尽管这似乎完全破坏了应用程序,并且似乎试图在手机上以调试模式运行,但错误看起来就像您在本地开发模拟器中看到的那样,而不是手机上编译的应用程序野外。

不幸的是,回滚并不是真正的选择,因为我们这样做只是为了让某些功能与我们的其他一些库一起使用。

我们正在运行 React Native 版本 0.70.6

这里有人有什么想法吗?

enter image description here enter image description here

android react-native gradle gradlew
2个回答
1
投票

我不敢相信我会写这篇文章,但是在没有收到任何回复之后,在最后的努力中,我向 ChatGPT 提出了这个问题,它给了我一个详细的回复,其中有一些可以尝试的事情,其中之一实际上解决了我的问题,而其他人提出了我面临的一些其他问题。

所以,对于困在这里的其他人来说,这就是它给我解决问题的方法

Check if the index.android.bundle file is present in the project's root directory. If it's missing, you can rebuild it by running the command "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"

它给我的其他观点引导我更深入地挖掘并发现其他一些问题。 我确实认为这很奇怪,升级后就停止工作了,这是一个危险信号,所以我现在正在深入研究这些问题。

我还发现了这篇文章,详细介绍了同样的问题:https://www.reddit.com/r/reactnative/comments/zop3sz/android_release_build_still_attempting_to_connect/

因此,如果您遇到同样的问题,您可以使用上述命令启动并运行,但您可能还需要先调查其他问题。


0
投票

转到此位置 - android/app/src/main/assets/index.android.bundle

如果 asset 文件夹不存在,则创建一个名为“assets”的文件夹,并在该文件夹中创建一个名为“index.android.bundle”的文件

然后运行命令-

“react-native包--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"

之后再次构建

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