React Native assembleRelease 不适用于版本 0.59.10

React Native assembleRelease does not work for version 0.59.10

当我尝试在我的项目中创建发布版本时,出现以下错误。 当我使用 android studio 和使用 ./gradlew assembleRelease

时都会发生这种情况
> Task :app:bundleReleaseJsAndAssets FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:bundleReleaseJsAndAssets'.
> A problem occurred starting process 'command '/<path>/ mobile/android/app/build/generated/assets/react/release/index.android.bundle.map''

但是,如果我像这样发布:

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

接着是

./gradlew assembleRelease -x bundleReleaseJsAndAssets

由于第二种情况有效,而第一种情况无效,我认为 bundleReleaseJsAndAssets 尝试使用的路径有些奇怪。它在空位置查找命令 ('command '/<path>/ mobile/android/app/build/generated/assets/react/release/index.android.bundle.map')。是不是找错目录了?

不应该 bundleReleaseJsAndAssets 尝试使用我在第二种情况下的位置吗? (--bundle-output android/app/src/main/assets/index.android.bundle)?

试试这个命令你可以生成发布版本

react-native run-android --variant=release

使用这个你不需要手动打包。此命令会自动为您创建捆绑包并发布 apk。

那可能是因为 :

  1. 之前 androidiOS 分别有两个单独的文件夹 index.js。因此它在编译期间创建了两个不同的包文件,如 index.android.jsindex.iOS.js 文件。

  2. 现在这两个文件合并并使用称为 index.js.

  3. 的单个文件呈现

您的命令:react-native bundle --platform android --entry-file index.js --reset-cache --bundle-output android/app/src/main/assets/index.android.bundle --dev false --assets-dest android/app/src/main/res/ 基本上是针对 index.js 的,因为可能有 index.js 文件但没有 index.android.js.

要使其正常工作,请将您的 react-native-sentry 升级到版本 react-native-sentry@0.43.2Please refer here