react-native android 打包步驟

ibeeger發表於2016-04-12

我接觸react-native 比 接觸reactjs更早一點,個人感覺這樣的方式更容易積累一些東西吧。其實可以作為元件去開發,平時寫一些公共的元件收集起來,用的時候方便快捷。
這篇文章主要是我個人打包android成功的經歷。由於環境問題可能和其他童鞋的情況不一樣。
好言歸正傳。

  1. react-native bundle 執行

react-native bundle 
--platform android  //平臺型別
--dev false //是否是開發
--entry-file index.android.js //輸入
--bundle-output android/bundle/index.android.bundle //輸出  
--assets-dest android/assets  //資原始檔

執行成功之後需要把 index.android.bundle 放在 app/src/main/assets 目錄下
如沒有該目錄就建立。

  1. 生成keystore

在這裡要說一下,有的手機不簽名的話可以安裝,有的收集則不行,所以這塊我把簽名步驟也加上,希望對大家有用 用的 keytool 命令

keytool -genkey -v -keystore  [b]project_name.keystore[/b] -alias [b]project_name[/b] -keyalg RSA -keysize 2048 -validity 10000

這段命令會有幾步需要輸入的地方,需要先記錄一下,後面會用到。

  1. 設定 android/gradle.properties 變數
    找到android目錄下的gradle.properties 檔案新增以下程式碼 對應的是 上面命令種的資訊和資料的密碼資訊

MYAPPRELEASESTOREFILE=project_name.keystore
MYAPPRELEASEKEYALIAS=project_name 
MYAPPRELEASESTOREPASSWORD=*****
MYAPPRELEASEKEYPASSWORD=*****
  1. 編輯 android/app/build.gradle

完成上面的步驟之後,緊接著編輯android/app/build.gradle檔案

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.1"

    defaultConfig {
        applicationId "com.reactnative"
        minSdkVersion 16
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
        ndk {
            abiFilters "armeabi-v7a", "x86"
        }
    }

    [b]signingConfigs{
        release {
            storeFile file(MYAPP_RELEASE_STORE_FILE)
            storePassword MYAPP_RELEASE_STORE_PASSWORD
            keyAlias MYAPP_RELEASE_KEY_ALIAS
            keyPassword MYAPP_RELEASE_KEY_PASSWORD
        }
    }[/b]

    buildTypes {
        release {
            minifyEnabled false  // Set this to true to enable Proguard
            proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
            [b]signingConfig signingConfigs.release[/b]
        }
    }
}

上面的加粗部分是需要增加或者修改的地方

  1. 最後 ./gradlew assembleRelease

可能需要 先執行 adb reverse tcp:8081 tcp:8081 不然的話安裝失敗

打包後 在android/app/build/outputs/apk 目錄中 app-release.apk

相關文章