ionic2的打包,從調試到發布 --Android

以下內容的前提是ionic2得環境搭建好,包括SDK

  1. 下載android platform
  2. 有兩種模式,一種是debug,一種是release
  3. 如何生成簽名
  4. 如何自動簽名
  5. --prod的優化啟動速度

1.添加Android平臺支持

  1. 在工程目錄下執行 ionic platform add android 命令
    項目的路徑下就會自動生成platform文件夾,里面有一個android文件夾。
    添加Android平臺支持后就可以打包apk了
  2. 在工程目錄下執行 ionic build android 命令
    會在 xxx\platforms\android\build\outputs\apk下生成android-debug.apk
    這種命令生成的apk是用于調試的。
  3. 安裝到手機
    連接手機或者打開模擬器,在xxx\platforms\android\build\outputs\apk下打開命令窗口執行adb install android-debug.apk就能將apk安裝在手機或者模擬器上了。

2.兩種打包的版本

一種是debug調試版,一種是release發布版

  1. 打包debug調試版
    在工程目錄下執行ionic build android,生成的apk就是debug調試版本
  2. 打包release發布版
    在工程目錄下執行ionic build andorid --release,生成的apk就是release發布版本。
    如果沒有配置簽名文件則默認只生成android-release-unsigned.apk,沒有簽名的apk。release版本是必須有簽名才能在手機上運行。

3.生成簽名文件

有兩種方式生成簽名文件
1.使用Android Studio

build.jpg
Genetate Signed APK.jpg
New Key Store.jpg

2.使用jdk的KeyTool生成簽名文件

生成簽名文件的命令:

keytool -genkey -v -keystore name.jks -alias alias_name -keyalg RSA -keysize 2048 -validity 10000

name.jks,name可以自定義,jks是Android studio生成的簽名文件的后綴,這里默認使用jks也可以;
alias_name是別名,也是自定義的。

生成簽名.jpg

注意注意:
問是否正確的時候要回答中文'',一開始傻乎乎回答'yes'結果沒反應 (╯‵□′)╯︵┻━┻


4.如何打包的時候自動簽名

在工程目錄/platforms/android目錄新建名為release-signing.properties的文件,文件內容如下

storeFile=path to keystore
keyAlias=your key alias
storePassword=your store password
keyPassword=you key password

使用ionic build android --release編譯即可,在/platforms/android/build/outputs/apk下就會生成已簽名的安裝包android-release.apk

在windows下storeFile文件路徑應使用Unix下的目錄分隔符/。

參考文章:
http://www.lxweimin.com/p/0588510fbb97


5.--prod的優化啟動速度

這個是在ionic2的QQ群里面大神說的
在編譯命令的最后加上--prod會讓app的啟動速度加快。
ionic build android --release --prod
無論是debug版本還是release版本都適用。
經過幾次測試后得到的啟動時間數據:

打包命令 Genymotion模擬器 6.0 華為4C 5.1 三星平板 4.4.2
--debug --prod 6s 6s、5s 沒測
--release 4.5s 12s 13s
--release --prod 5s、4.5s 5s 5s

ionic2打包的項目都是需要啟動這么久的嗎?你們是這樣的嗎?希望路過的大神指引一下小菜鳥。


好好學習,天天向上。<( ̄oo, ̄)/


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

推薦閱讀更多精彩內容