React-Native開發九 react-navigation之Android的打包與釋出
阿新 • • 發佈:2018-11-01
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指令碼來進行打包與簽名