[TOC]
# 準備工作
## `app.module.ts`修改
~~~
HTTP_DEBUG: false,
~~~
## `../project/node_modules/ionic-angular/components/infinite-scroll/infinite-scroll.js`修改
# Android打包
使用ionic cli 打包,打包分兩種,開發包 和發布包。發布包需要對app進行簽名。
資源整理:http://www.jianshu.com/p/a7791341709e
1. 生成簽名文件
~~~
keytool -genkey -v -keystore ipet.keystore -alias ipet.keystore -keyalg RSA -validity 20000
~~~
2. 給文件簽名
注意這里的apk路徑要正確,如果路徑不正確,就找不到需要簽名的apk文件,自然會簽名失敗。
將打包的app移動到與生成的keystore文件相同的目錄
~~~
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore ipet.keystore android-release-unsigned.apk ipet
~~~
**Tips**
在 Android 7.0 Nougat 中引入了全新的 APK Signature Scheme v2簽名方式,美團也推出相應的Android渠道包生成工具Walle。
360加固后需要重新簽名,借助360官方提供的簽名工具qihoo apk signer,是采用的7.0以前的v1簽名,這時再通過walle打渠道包,是無法成功往apk寫入渠道號的。
(新版的360加固工具-輔助工具里面已經有V2簽名的選項了)
這時我們就必須借助Android SDK提供的[apksigner工具](https://developer.android.google.cn/studio/command-line/apksigner#options-sign-general)對已經打包好的apk進行v2簽名。
3. 壓縮apk文件
zipalign是`Android/sdk/build-tools/VERSION/zipalign`的壓縮代碼工具,可以將我們的apk體積最小化。
比如我的zipalign的位置在`D:\Android\android-sdk-windows\build tools\25.0.1\zipalign.exe`,25.0.1是android sdk版本號,任意版本號都有zipalign.exe。
~~~
cd D:\develop\android-sdk\build-tools\26.0.0
zipalign -v 4 "D:/My Projects/IPet/platforms/android/build/outputs/apk/release/android-release.apk" ipet-signed-dist.apk
~~~
現在去你的zipalign所在的路徑,可以看到壓縮完成的apk文件。
4. 自動簽名設置:簽名APP生成release版本(跳過2,3步驟!!!)
簽名的意義其實就是給app一個身份證。這樣你的app發布到市場,就擁有了唯一的ID。
如何獲得簽名請點擊查看 [Ionic3 Android簽名](http://www.jianshu.com/p/26166279413b),簽名之后,就可以打包了:
在ionic2項目 platform/android目錄下新建文件 `release-signing.properties`,內容為
```ini
storeFile=[到 keystore 文件的路徑]
keyAlias=[keystore 的別名]
storePassword=[keystore 的密碼]
keyPassword=[keystore 別名對應的密碼]
```
然后構建app命令換成 `ionic cordova build android --release --prod` ,最后生成的 app 安裝前需要卸載手機中原來的debug版本。這樣一個可發布到市場的基本APP就生成了,在商業應用中還需要對app進行加固等處理,我打算專門寫一篇這方面的博客。
~~~
cordova plugin rm cordova-plugin-console
ionic build android --release --prod --device --keystore="../android.keystore" --storePassword=android --alias=mykey --password=myKeyPassword
zipalign -v 4 D:\\My Projects\\IPet\\platforms\\android\\build\\outputs\\apk\\release\\android-release.apk ipet.apk
~~~
其中 ionic build android --prod --device 中的 --prod 表示啟用aot;--device 將要求略過白屏啟動時間。
打包好APP后,還需要對APP進行加固。可以使用“樂固”,通過“樂固”進行加固后,下載加固后的安裝包,重新進行簽名即可。
## 快速獲取 UDID
可以使用 FIR.im [提供的的接口](https://fir.im/support/articles/faq/user_udid) 快速獲取 UDID
## Android簽名
如果需要發布應用到 安卓市場
資源整理:http://www.jianshu.com/p/26166279413b
# IOS打包
比較麻煩,涉及到一系列IOS證書,關鍵是還要開發者賬號,要錢。目前的做法是遠程打包,不過目前有一個問題:現在那臺機器上的證書好像失效了。
# 問題
# 參考
## [騰訊樂固](http://www.cnblogs.com/happen-/p/6077140.html)
## [ionic應用的Android打包簽名發布步驟](https://blog.csdn.net/liujiawei00/article/details/74356356)
## [發布ionic應用到App Store的完整步驟](https://blog.csdn.net/liujiawei00/article/details/73822707)
https://www.baidu.com/s?ie=UTF-8&wd=webpack%20flexible | webpack flexible_百度搜索
https://segmentfault.com/a/1190000007055508 | 用vue+webpack搭建的前端項目結構 - 對角另一面 - SegmentFault 思否
http://xc.hubwiz.com/class/598bad66c7fd1d49453979c9/#1/1 | Vue.js 2 工程化實踐 - 匯智網
https://blog.csdn.net/github_36326955/article/details/79066401 | Vue2.js工程實踐4:Vue相關開源項目庫匯總 - CSDN博客
http://www.hubwiz.com/course/55c0792f3ad79a1b05dcc401/ | Hogan.js - 匯智網
http://web.jobbole.com/91772/ | 淘寶 flexible.js 漏洞修補:記一次 rem 踩坑記錄 - WEB前端 - 伯樂在線
http://www.hmoore.net/book/chandler/web_app/edit | 移動Web開發 · 看云
https://www.w3cplus.com/mobile/lib-flexible-for-html5-layout.html | 使用Flexible實現手淘H5頁面的終端適配_雙11前端技術連載, Layout, mobile 教程_w3cplus
https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu&wd=cordova%20%E5%9B%BE%E7%89%87%E5%A4%84%E7%90%86&oq=%25E5%259B%25BE%25E7%2589%2587%25E5%25A4%2584%25E7%2590%2586%2520api&rsv_pq=e1787f3f0002158a&rsv_t=1862X9kNBOQep9hdZXRRGDSFf1t9hg72PVsyhfkNKAlGxB%2BKWN2316lMK5c&rqlang=cn&rsv_enter=1&inputT=7196&rsv_sug3=26&rsv_sug1=29&rsv_sug7=100&rsv_sug2=0&rsv_sug4=7196 | cordova 圖片處理_百度搜索
http://www.xview360.com/zb.html | xview
- PWA 概念
- Immutable
- Angular 基礎概念
- 入門參考
- Angular 更新總結
- Angular 生態系統
- Rx.js
- Ngrx
- CQRS/ES 模式
- Angular 5 詳解
- 測試
- 定義共享模塊
- 懶路由加載
- angular組件
- 雙向綁定及變化檢測
- 樣式
- ionic 3詳解
- ionic3
- ionic 插件
- Ionic 添加動畫
- Ghost-Loading
- 打包發布
- Android上架國內應用市場流程
- 總結
- 文章
- 問題合集
- Cordova
- 插件開發指南
- Android插件開發指南-官網
- IOS插件開發指南-官網
- Hooks 編寫
- 橋接技術
- ===cordova插件收集===
- 相關主題-官網
- 實戰-自定義插件流程
- UI 及 相關資源