配置react native 签名打包

1 生成离线bundle包

离线包就是把 ReactNative 和你写的 js文件、图片等资源都打包放入 App ,不需要走网络下载
首先看一下官方给的参数(中文版):

react-native bundle [参数]
构建 js 离线包

参数:

-h, --help                   输出如何使用的信息
--entry-file           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      打包后的文件输出目录, 例: /tmp/groups.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]            命令行的配置文件路径

接下来,就开始我们的离线包打包命令:

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

要确保有assets这个文件夹
路径

./android/app/src/main/assets
2 生成签名文件
  • 命令行方式:
$ keytool -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000

如果提示错误,运行:

keytool -importkeystore -srckeystore my-release-key.keystore -destkeystore my-release-key.keystore -deststoretype pkcs12

生成 my-release-key.keystore 在android/app/ 下面

3 设置gradle变量

配置gradle.properties

MYAPP_RELEASE_STORE_FILE=my-release-key.keystore
MYAPP_RELEASE_KEY_ALIAS=my-key-alias
MYAPP_RELEASE_STORE_PASSWORD=123456
MYAPP_RELEASE_KEY_PASSWORD=123456

配置build.gradle

 signingConfigs {
         release {
             storeFile file(MYAPP_RELEASE_STORE_FILE)
             storePassword MYAPP_RELEASE_STORE_PASSWORD
             keyAlias MYAPP_RELEASE_KEY_ALIAS
             keyPassword MYAPP_RELEASE_KEY_PASSWORD
         }
     }
4 生成签名apk

在RN项目根目录运行:

cd android && ./gradlew assembleRelease     ---生产包
cd android && ./gradlew assembleDebug  ---测试包

- 注:-
注意这个./不可省略;而在windows的传统CMD命令行下则需要去掉 ./

你可能感兴趣的:(配置react native 签名打包)