当我尝试在项目中进行发行时,出现以下错误。
当我使用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
)?
答案 0 :(得分:1)
那可能是因为:
之前,每个index.js
和android
都有两个单独的文件夹iOS
。因此,它在编译期间创建了两个不同的捆绑文件,例如index.android.js
和index.iOS.js
文件。
现在,将这两个文件合并并使用称为index.js
的单个文件进行渲染。
您的命令: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.2
。 Please refer here
答案 1 :(得分:0)
尝试使用此命令可以生成发行版
react-native run-android --variant=release
使用此功能,您无需手动制作捆绑包。此命令会自动创建您的捆绑包并同时释放二者。