1. 程式人生 > >React-Native之打包釋出(Android)

React-Native之打包釋出(Android)

React-Native之打包釋出(Android)

一,介紹與需求

 移動端打包釋出到應用市場

二,釋出配置

注意:以下所有操作都在win10下進行,React Native版本0.59.5,android-studio 版本 3.2

1,生成簽名

1 keytool -genkey -v -keystore app.keystore -alias yingqi -keyalg RSA -keysize 2048 -validity 10000

附加說明:

-genkey    生成檔案 

-keystore  檔名 

-alias         別名

-keyalg     加密演算法

-validity    有效期(單位是天) 

輸入如上命令以後,出現以下步驟:

注意:輸入金鑰庫口令【很重要,要記住】

生成的的keystore檔案預設是在專案的根目錄中,如下圖所示:

 

2,在gradle檔案中添加簽名配置

把app.keystore檔案放到你工程中的android/app資料夾下。

開啟編輯專案目錄下的android/app/build.gradle檔案,新增如下的簽名配置:

 1 ...
 2 android {
 3     ...
 4     defaultConfig { ... }
 5     signingConfigs {
 6         release {
 7             keyAlias 'yingqi' //別名
 8             keyPassword '123456' //金鑰密碼 之前設定祕鑰口令
 9             storeFile file('app.keystore') //my-release-key.keystore檔案的絕對路徑
10             storePassword '123456' //儲存密碼
11         }
12     }
13     buildTypes {
14         release {
15             ...
16             minifyEnabled enableProguardInReleaseBuilds // 在 當前檔案中,找到變數 enableProguardInReleaseBuilds ,將其值修改為 true
17             signingConfig signingConfigs.release // 引用簽名
18         }
19     }
20 }
21 ...

 3,修改應用名稱

開啟編輯專案目錄下的android/app/src/main/res/values/strings.xml檔案,修改名稱

 4,修改應用icon

將如下資料夾中的icon替換成需要修改的圖示即可,注意icon大小保持一致

 5,程式碼混淆

啟用Proguard程式碼混淆來縮小APK檔案的大小(保護原始碼,縮小APK包大小)
Proguard是一個Java位元組碼混淆壓縮工具,它可以移除掉React Native Java (和它的依賴庫中)中沒有被使用到的部分,最終有效的減少APK的大小。
重要:每次啟用Proguard之後,必須再次全面地測試你的應用。Proguard有時候需要為你引入的每個原生庫做一些額外的配置。參見app/proguard-rules.pro檔案。

在android/app/build.gradle檔案中,找到enableProguardInReleaseBuilds然後修改def enableProguardInReleaseBuilds = true

 6,打包命令配置

1   "scripts": {
2     "start": "node node_modules/react-native/local-cli/cli.js start",
3     "bundle-ios": "node node_modules/react-native/local-cli/cli.js bundle --entry-file index.js  --platform ios --dev false --bundle-output ./ios/main.jsbundle --bundle-encoding utf8 --assets-dest ./ios",
4     "bundle-android": "cd ./android && ./gradlew assembleRelease",
5     "bundle-win-android": "cd android && gradlew assembleRelease",
6     "test": "jest"
7   },

執行打包與成功效果