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目錄下
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章