react-native windows和mac打包

Android

生成签名秘钥

  • 由于安卓应用都需要数字签名才能安装,所以首先我们要使用jdk生成一个数字签名。

  • 首先打开cmd命令行工具,进入jdk安装路径的bin目录下,一般是C盘的programe files

  • 接着在这个路径下执行命令:

    keytool -genkey -v -keystore test.keystore -alias test -keyalg RSA -keysize 2048 -validity 10000
    是否确认, 是 继续回车
    Copy提示, 转为pkcs12
    其中,test.keystore是生成的秘钥文件的名字,test是映射名,待会需要在程序中配置。
    在这里插入图片描述
    之后会提示输入秘钥口令和一些相关信息,按照提示输入即可。
    这些全部操作完成之后,就可以在刚刚进入的C:\Program Files\Java\jdk1.8.0_101\bin目录下找到生成的test.keystore秘钥文件。
    在这里插入图片描述

  • 本地也要加

	C:\Users\Administrator\.gradle 也要添加gradle.properties文件
	MYAPP_RELEASE_STORE_FILE=test.keystore
	MYAPP_RELEASE_KEY_ALIAS=test
	MYAPP_RELEASE_STORE_PASSWORD=you password
	MYAPP_RELEASE_KEY_PASSWORD=you password

在这里插入图片描述

在项目中配置秘钥文件

  • 这个秘钥的配置是专门用于打包安卓程序的,所以全部配置在项目的android目录下。

  • 首先找到项目根目录下的android目录,这里面包含一个完成的安卓项目,也包括打包工具gradle。将刚刚生成的test.keystore 文件放在/android/app目录下

  • 在android目录下有一个gradle.properties文件,在里面配置好秘钥相关信息,如下

	MYAPP_RELEASE_STORE_FILE= 你的秘钥文件名
	MYAPP_RELEASE_KEY_ALIAS=你的秘钥映射名
	MYAPP_RELEASE_STORE_PASSWORD=你设置的秘钥密码
	MYAPP_RELEASE_KEY_PASSWORD=你设置的密码

在这里插入图片描述

  • 接着将下面这段配置放在android/app/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
	}
}

buildTypes {
        release {
            ...
            signingConfig signingConfigs.release // 添加这一句
        }
    }

在这里插入图片描述

生成bundle
7. 在 工程目录里面新增 bundles文件:mkdir bundles
8. 运行命令打包 react-native bundle --platform 平台 --entry-file 启动文件 --bundle-output 打包js输出文件 --assets-dest 资源输出目录 --dev 是否调试。

android:

react-native bundle --platform android --entry-file index.js --bundle-output ./bundles/index.android.bundle --assets-dest ./bundles --dev false

打包出来的资源放入根目录android/app/src/main/assets/里面
在这里插入图片描述
注意事项

  • 忽略了资源输出是因为 输出资源文件后,会把bundle文件覆盖了。
  • 输出的bundle文件名不叫其他,而是 index.android.bundle,是因为 在debug模式下,工程读取的bundle就是叫做 index.android.bundle。

打包APK
cmd进入项目下的android目录,运行如下代码:

./gradlew assembleRelease

在这里插入图片描述

Mac

  1. 在根目录创建bundles文件夹
  2. 打包静态资源
react-native bundle --platform ios --entry-file index.js --bundle-output ./bundles/main.jsbundle --assets-dest ./bundles --dev false
  1. 将打包出来的js和assets导入到ios目录下
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章