1. 程式人生 > >react-native win10 構建 android APP

react-native win10 構建 android APP

➢ 生成一個簽名金鑰

使用keytool命令生成一個私有金鑰

$ keytool -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000

這條命令會要求你輸入金鑰庫(keystore)和對應金鑰的密碼,然後設定一些發行相關的資訊。最後它會生成一個叫做my-release-key.keystore的金鑰庫檔案。

Tips:

1.以上問題非必填

2.最後一個問題填才能跳出迴圈,生成金鑰

3.請記得妥善地保管好你的金鑰庫檔案,一般不要上傳到版本庫或者其它的地方。

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

➢ 設定gradle 變數

編輯~/.gradle/gradle.properties(全域性配置,對所有專案有效)或是專案目錄/android/gradle.properties(專案配置,只對所在專案有效)。如果沒有gradle.properties檔案你就自己建立一個,新增如下的程式碼(注意把其中的替換為相應密碼)

MYAPP_RELEASE_STORE_FILE=my-release-key.keystore
MYAPP_RELEASE_KEY_ALIAS=my-key-alias
MYAPP_RELEASE_STORE_PASSWORD=*****
MYAPP_RELEASE_KEY_PASSWORD=*****

上面的這些會作為 gradle 的變數,在後面的步驟中可以用來給應用簽名。

tips:

1.一旦你在 Play Store 釋出了你的應用,如果想修改簽名,就必須用一個不同的包名來重新發布你的應用(這樣也會丟失所有的下載數和評分)。所以請務必備份好你的金鑰庫和密碼。

➢ 把簽名配置加入到專案的 gradle 配置中

...
android {
    ...
    defaultConfig { ... }
    signingConfigs {
        release {
            if (project.hasProperty('MYAPP_RELEASE_STORE_FILE')) {
                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
        }
    }
}
...

示例:

➢ 生成發行 APK 包

$ cd android
$ ./gradlew assembleRelease

tips:

1.在android資料夾下執行./gradlew assembleRelease命令來構建

2.如果提示./gradlew assembleRelease無效,可以使用gradlew assembleRelease來構建

3.構建時請用穩定外貿上網環境,不然會有些依賴無法下載導致報錯,打包失敗

➢ apk目錄

生成的 APK 檔案位於android/app/build/outputs/apk/release/app-release.apk,它已經可以用來發布了。