android构建版本是否需要index.android.bundle?

android构建版本是否需要index.android.bundle?,android,react-native,gradle,Android,React Native,Gradle,构建版本时,我总是运行react native bundle--platform android--dev false--entry file index.js--bundle output android/app/src/main/assets/index.android.bundle,感觉应用程序运行平稳。 正确吗?是的,正确 react native bundle--platform android--dev false--minify true--entry file index.js-

构建版本时,我总是运行
react native bundle--platform android--dev false--entry file index.js--bundle output android/app/src/main/assets/index.android.bundle
,感觉应用程序运行平稳。 正确吗?

是的,正确

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


--minify true将帮助您的应用程序顺利运行。

是的,您是对的,每次发布构建之前都需要运行此命令

如果您不想在每次发布build时都键入它,那么可以在
包.json的
脚本
部分中编写以下行:

"android-linux": "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 && react-native run-android".
例如,我在我的
package.json
文件中使用如下内容:

{
  "name": "Widget",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "start": "node node_modules/react-native/local-cli/cli.js start",
    "test": "jest",
    "android-linux": "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 && react-native run-android"
  },
  "dependencies": {
    "react": "^16.6.3",
    "react-native": "^0.58.5"
  },
  "devDependencies": {
    "babel-core": "^7.0.0-bridge.0",
    "babel-jest": "24.1.0",
    "jest": "24.1.0",
    "metro-react-native-babel-preset": "0.52.0",
    "react-test-renderer": "16.6.3"
  },
  "jest": {
    "preset": "react-native"
  }
}

从今天起(至少对于react-native>=0.62),您不需要手动运行react-native捆绑包

当使用
/gradlew assembleerelease
时,这将在完成日志中所述的构建之前完成:
任务:app:bundleReleaseJsAndAssets

我还确认我自己和捆绑包没有写在正式注册护士医生那里


更深入地说,
index.android.bundle
仅在您希望通过android studio安装应用程序而无需运行metro bundler的情况下使用。

您能详细解释一下吗?让我们举一个例子,比如您的应用程序中有一个变量名为“reactNative”,并在许多同名组件中使用。现在--缩小true将代码(如变量名“reactNative”)缩减为a,并在任何地方替换它。这样,您的代码将缩小,在budling中占用更少的内存,并减少您的应用程序大小。@ParasKorat当--dev为false时,它会自动隐藏--minify true,因此不需要它。您能解释原因吗?官方文档中给出,您需要执行命令来创建React本机捆绑包,这将包含在你的原生Android应用程序中。我不知道确切的原因