1. 程式人生 > >React-Native開發九 react-navigation之Android的打包與釋出

React-Native開發九 react-navigation之Android的打包與釋出

1前言

RN的開發中正式釋出前需要打包與簽名,然後才能上架各家應用市場。打包需要將js與圖片資原始檔打包進apk檔案中,生成index.android.bundle與index.android.bundle.meta檔案。下面介紹RN開發中打包APK的主要步驟,IOS沒研究過,不再本文討論範圍內。

2 Android下的打包步驟

1 生成Android簽名證書
如果你已經有簽名證書可以繞過此步驟。
一般在公司開發中,android證書不用我們自己操心,如果個人開發,可以使用android studio生成一個證書檔案。
或者自行去網路搜尋如何生成證書。

2 設定gradle變數配置證書資訊


將你的簽名證書放在合適的位置下,例如專案工程主目錄
編輯~/.gradle/gradle.properties或../android/gradle.properties(一個是全域性gradle.properties,一個是專案中的gradle.properties,大家可以根據需要進行修改) ,加入如下程式碼:

APP_RELEASE_STORE_FILE=your keystore filename  
APP_RELEASE_KEY_ALIAS=your keystore alias  
APP_RELEASE_STORE_PASSWORD=*****    
APP_RELEASE_KEY_PASSWORD=*****

3 gradle配置檔案中添加簽名配置
在android 的app module 下的build.gradle

android {  
    ...  
    defaultConfig { ... }  
    signingConfigs {  
        release {  
            storeFile file(APP_RELEASE_STORE_FILE)  
            storePassword APP_RELEASE_STORE_PASSWORD  
            keyAlias APP_RELEASE_KEY_ALIAS  
            keyPassword APP_RELEASE_KEY_PASSWORD  
        }  
    }  
    buildTypes {  
        release {  
            ...
signingConfig signingConfigs.release } } }

4 簽名打包APK
有了以上配置,就可以執行下面命令來打包Android 下的APK了
在android下執行如下命令進行打包

gradle assembleRelease

這裡寫圖片描述
這裡寫圖片描述
生成的APK檔案在android/app/build/outputs/apk/目錄下。注意檢查是否生成了index.android.bundle與index.android.bundle.meta檔案,該檔案中主要就是js檔案和相應的資原始檔。
這裡寫圖片描述

如果需要混淆,修改enableProguardInReleaseBuilds 為true

def enableProguardInReleaseBuilds = true  

備註:正式的工程建議編寫CI指令碼來進行打包與簽名