React-native之簽名打包(3)

一.簡介

我們開發完項目,會將應用上傳到應用市場,在上傳應用市場前,需要簽名,打包。今天我們來看看RN如何簽名打包。

二.步驟
1.生成一個簽名密鑰

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

接著會讓你填寫密鑰密碼,姓名,單位,組織,城市,省,國家代碼(中國是86),會詢問你是否填寫正確,如果正確輸入y,會讓你按回車鍵,當你按鍵之后,就會生成簽名文件。

其中my-project01-key.keystore為簽名文件的名稱,my-key-alias為別名的名稱。

01.png
02.png
2.找到路徑/android/app/src/main,并在該目錄下新建assets文件夾
03.png
3.在工程目錄下將index.android.bundle下載并保存到assets資源文件夾中

curl -k "http://localhost:8081/index.android.bundle" > android/app/src/main/assets/index.android.bundle

如果assets目錄中不存在該文件,則打包的apk在執行時顯示空白。
如果命令行提示curl不是內部或外部命令,是因為你沒有安裝curl.
Windows下安裝使用curl命令:http://jingyan.baidu.com/article/a681b0dec4c67a3b1943467c.html

將curl.exe放到你的工程根目錄

04.png
4.添加gradle的android keystore配置

在build.gradle文件中

//簽名
signingConfigs{ release { storeFile file("D://RN_software/app_project/MyProject1/my-project01-key.keystore") storePassword "123456" keyAlias "my-key-alias" keyPassword "123456" } } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' signingConfig signingConfigs.release //添加這句話引用簽名配置 } }

5.啟用Proguard代碼混淆來縮小APK文件的大小

Proguard是一個Java字節碼混淆壓縮工具,它可以移除掉React Native Java(和它的依賴庫中)中沒有被使用到的部分,最終有效的減少APK的大小。

重要:啟用Proguard之后,你必須再次全面地測試你的應用。Proguard有時候需要為你引入的每個原生庫做一些額外的配置。參見app/proguard-rules.pro文件。

def enableProguardInReleaseBuilds = true

6.在/android/目錄中執行gradle assembleRelease命令,打包后的文件在 android/app/build/outputs/apk目錄中,例如app-release.apk。如果打包碰到問題可以先執行 gradle clean 清理一下。

安裝gradle工具(版本與android\gradle\wrapper下的一致),并配置環境變量,配置GRADLE_HOME到你的gradle根目錄當中,然后把%GRADLE_HOME%/bin(linux或mac的是$GRADLE_HOME/bin)加到PATH的環境變量。

配置完成之后,運行gradle -v,檢查一下是否安裝無誤

7.將apk發布到各大應用市場
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,282評論 25 708
  • 本人剛剛接觸RN,將自己遇到的問題做個分享,僅供參考! 1、生成一個簽名密鑰 keytool -genkey -v...
    淡望江湖路閱讀 694評論 1 0
  • title: React Native 打包APKtags: [Android, React Native]cat...
    呼呼哥閱讀 716評論 0 0
  • 添加測試 寫單元測試類能降低出 bug 的概率,只要單個測試中通過,整體運行起來有七八成的概率是沒問題的。再者不能...
    小菜_charry閱讀 613評論 0 0
  • 我記得你的事比你以為我所記得的,要多的多。 前天,你無意走過我身側的時候,溫柔的一陣風,輕吹起作業的紙張。帶著熟悉...
    周慕俞閱讀 355評論 0 0