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
,它已經可以用來發布了。