以下內容的前提是ionic2得環境搭建好,包括SDK
- 下載android platform
- 有兩種模式,一種是debug,一種是release
- 如何生成簽名
- 如何自動簽名
- --prod的優化啟動速度
1.添加Android平臺支持
- 在工程目錄下執行
ionic platform add android
命令
項目的路徑下就會自動生成platform文件夾,里面有一個android文件夾。
添加Android平臺支持后就可以打包apk了 - 在工程目錄下執行
ionic build android
命令
會在 xxx\platforms\android\build\outputs\apk下生成android-debug.apk
這種命令生成的apk是用于調試的。 - 安裝到手機
連接手機或者打開模擬器,在xxx\platforms\android\build\outputs\apk下打開命令窗口執行adb install android-debug.apk
就能將apk安裝在手機或者模擬器上了。
2.兩種打包的版本
一種是debug調試版,一種是release發布版
- 打包debug調試版
在工程目錄下執行ionic build android
,生成的apk就是debug調試版本 - 打包release發布版
在工程目錄下執行ionic build andorid --release
,生成的apk就是release發布版本。
如果沒有配置簽名文件則默認只生成android-release-unsigned.apk,沒有簽名的apk。release版本是必須有簽名才能在手機上運行。
3.生成簽名文件
有兩種方式生成簽名文件
1.使用Android Studio
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是別名,也是自定義的。
注意注意:
問是否正確的時候要回答中文'是',一開始傻乎乎回答'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, ̄)/