我正在研究 React Native。当我尝试使用
创建Android版本时gradlew assembleRelease
然后得到一个
* What went wrong:
Execution failed for task ':app:bundleReleaseJsAndAssets'.
> Process 'command 'npx.cmd'' finished with non-zero exit value 1
但是当我使用下面的命令创建构建时,构建成功构建
gradlew assembleRelease -x bundleReleaseJsAndAssets
但是构建无法在移动设备上运行,因为我在安装后打开我的应用程序,它崩溃了。
此外,当我尝试使用相同的代码在不同的系统(8gm ram)上创建构建时,它会使用相同的命令创建构建,并且构建将成功创建。给我一个解决方案,
使用
cd android
之后使用这个
./gradlew clean
和 apk
./gradlew assembleRelease -x bundleReleaseJsAndAssets
或将其用于 aab
./gradlew bundleRelease -x bundleReleaseJsAndAssets
尝试这些命令,请告诉我它是否有效
对我来说,我必须运行一次
npm run android
然后./gradlew assembleRelease
工作
更新:运行以下命令并查看输出日志以查找错误
npx 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
就我个人而言,我必须在 Android Studio 中运行应用程序表单。 这给了我更清晰的错误消息,使我能够解决问题。
我的例子中的错误与
entryFile: "index.android.js",
内的app/build.gradle
有关。
我必须将其更改为 index.js
,因为那是我的 RN 项目的入口点。
我遇到这个问题是因为 babel.config.js 中的错误
之前
module.exports = {
presets: ['module:metro-react-native-babel-preset'],
plugins: ['react-native-reanimated/plugin'],
env: {
production: {
plugins: ['react-native-paper/babel', ,],
},
},
};
我把它改为
module.exports = {
presets: ['module:metro-react-native-babel-preset'],
plugins: ['react-native-reanimated/plugin'],
env: {
production: {
plugins: ['react-native-paper/babel'],
},
},
};