ReactNative之Android打包APK方法(簽名打包發布Release版本的apk安裝包)以及趟坑過程


ReacNative---簽名打包發布Release版本的apk安裝包

 

一、NDK的安裝和配置: 【 先保證自己正確配置了所有的 RN 環境,(其中包含android-ndk的配置,如若沒有配置請按照以下步驟配置,否則可跳過)】

1、下載NDK,官網鏈接:https://developer.android.google.cn/ndk/downloads

 

 

 2、安裝

  2.1 打開你的SDK Manger安裝的路徑,新建一個文件 ndk-bundle

 

 

   2.2然后將下載的NDK解壓出來的所有的文件都放到該文件夾下即可

 

 

3、配置環境變量

  許多Android項目的編譯腳本都會通過NDK_HOME環境變量來調用NDK,因此需要手動新建系統環境變量:

變量名 NDK_HOME 變量名必須嚴格匹配
變量值 C:\Android\ndk-bundle 需要根據NDK實際的安裝路徑填寫

  為了方便通過命令行啟動ndk-build,還可以在系統環境變量Path中追加%NDK_HOME%。

4、如果出現問題,做如下配置:【ndk的版本號到你安裝ndk的路徑找 C:\Android\ndk-bundle\source.properties】

 

 

 

二、如何發布一個apk【簽名打包官網鏈接:https://reactnative.dev/docs/signed-apk-android

1、先保證自己正確配置了所有的 RN 環境

2、在 cmd 命令行中,運行這一句話 

 keytool -genkeypair -v -keystore my-upload-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000

  此命令提示您輸入密鑰庫和密鑰的密碼以及密鑰的專有名稱字段(輸入的內容看不到,記得拿小本本記下來)。然后,它將密鑰庫生成為名為的文件my-upload-key.keystore

  密鑰庫包含單個密鑰,有效期為10000天。別名是您稍后在對應用程序進行簽名時將要使用的名稱,因此請記住該別名。

  注意:

    • 其中: `my-release-key.keystore` 表示你一會兒要生成的那個 簽名文件的 名稱【很重要,包找個小本本記下來】
    • `-alias` 后面的東西,也很重要,需要找個小本本記下來,這個名稱可以根據自己的需求改動`my-key-alias`
    • 當運行找個命令的時候,需要輸入一系列的參數,找個口令的密碼,【一定要找個小本本記下來】

             

 

 3、當生成了簽名之后,這個簽名,默認保存到了自己的用戶目錄下C:\Users\Administrator\my-upload-key.keystore

 

 4. 將你的簽名證書復制到項目根目錄 android/app目錄下:

 

 

 

 

5. 進入你的項目根目錄,編輯文件~/.gradle/gradle.propertiesandroid/gradle.properties,在最后,添加以下內容(替換*****為正確的密鑰庫密碼,別名和密鑰密碼)

1 MYAPP_UPLOAD_STORE_FILE=my-upload-key.keystore 2 MYAPP_UPLOAD_KEY_ALIAS=my-key-alias 3 MYAPP_UPLOAD_STORE_PASSWORD=*****
4 MYAPP_UPLOAD_KEY_PASSWORD=*****

 

 6、進入你的項目根目錄,編輯 android/app/build.gradle文件添加如下代碼:

 1 ...  2 android {  3  ...  4  defaultConfig { ... }  5  signingConfigs {  6  release {  7             if (project.hasProperty('MYAPP_UPLOAD_STORE_FILE')) {  8  storeFile file(MYAPP_UPLOAD_STORE_FILE)  9  storePassword MYAPP_UPLOAD_STORE_PASSWORD 10  keyAlias MYAPP_UPLOAD_KEY_ALIAS 11  keyPassword MYAPP_UPLOAD_KEY_PASSWORD 12  } 13  } 14  } 15  buildTypes { 16  release { 17  ... 18  signingConfig signingConfigs.release 19  } 20  } 21 } 22 ...

7. 進入項目根目錄下的`android`文件夾,在當前目錄打開終端,然后輸入`./gradlew assembleRelease`開始發布APK的Release版;

  7.1方法一 : 輸入以下命令

./gradlew bundleRelease    #---Linux系統 gradlew bundleRelease #--window系統

//以上執行完后,接着執行以下命令 開始發布APK的Release版
react-native run-android --variant=release

  7.2方法二:直接輸入以下命令即可 開始發布APK的Release版

./gradlew assembleRelease #---Linux系統
gradlew assembleRelease  #--window系統


8. 當發行完畢后,進入自己項目的`android\app\build\outputs\apk`目錄中,找到`app-release.apk`,這就是我們發布完畢之后的完整安裝包;

 

 ps: 也可參考:  https://blog.csdn.net/m0_37686205/article/details/103098592

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM