Android APK
构建 JS Bundle
在android工程中创建assets/index.android.bundle文件,已存在则忽略
在RN根目录输入打bundle包命令,示例:
npx react-native bundle --entry-file index.js --platform android --dev false --bundle-output ./android/app/src/main/assets/index.android.bundle
- 命令介绍
react-native bundle [参数]
构建 js 离线包
Options:
-h, --help 输出如何使用的信息
--entry-file <path> RN入口文件的路径, 绝对路径或相对路径
--platform [string] ios 或 andorid
--transformer [string] Specify a custom transformer to be used
--dev [boolean] 如果为false, 警告会不显示并且打出的包的大小会变小
--prepack 当通过时, 打包输出将使用Prepack格式化
--bridge-config [string] 使用Prepack的一个json格式的文件__fbBatchedBridgeConfig 例如: ./bridgeconfig.json
--bundle-output <string> 打包后的文件输出目录, 例: ./android/app/src/main/assets/index.android.bundle
--bundle-encoding [string] 打离线包的格式 可参考链接https://nodejs.org/api/buffer.html#buffer_buffer.
--sourcemap-output [string] 生成Source Map,但0.14之后不再自动生成source map,需要手动指定这个参数。例: /tmp/groups.map
--assets-dest [string] 打包时图片资源的存储路径
--verbose 显示打包过程
--reset-cache 移除缓存文件
--config [string] 命令行的配置文件路径
- index.android.bundle里面包含了所有js代码(RN源码、第三方库代码和自己的业务代码)
构建APK
- 从RN项目根目录切换到android目录
cd android
- 依次执行Android打包命令(示例:windows电脑)
// 清除缓存
.\gradlew clean
// 打包
.\gradlew assembleRelease
- 加固后可上线到各应用市场