以前在使用ionic2時使用創建android平臺命令或者編譯時,老是會在獲取gradle時卡住,等好久進度也不變化,致使命令超時失敗。因而通過查閱資料和本身實踐測試,總結出如下辦法。android
其實主要緣由是用命令下載時用的是指定的下載途徑(可能不應這樣形容,歡迎你們評論批評指正),國內經過這樣下載十分慢,甚至時斷時續,從而致使出現上面的問題。跨域
因此咱們本身去下載gradle,存放在本地,而後更改配置文件,使其不去網上下載而是從咱們指定的本地位置獲取。
首先咱們打開下面這個js:app
你的項目名稱/platforms/android/cordova/lib/builders/GradleBuilder.jsionic
其中有對distributionUrl的默認定義:測試
var distributionUrl = process.env['CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL'] || 'http\\://services.gradle.org/distributions/gradle-2.14.1-all.zip';
個人是2.14.1版本,你們的版本可能不同,可是方法是同樣的,接下來咱們只要修改這句就好了。gradle
咱們能夠進入上面代碼中的網址裏找到對應版本的gradle進行下載:優化
http://services.gradle.org/distributions/ui
幫你們拿出來了,直接打開就好。code
下載的gradle不須要解壓。orm
存放到以下路徑:
你的項目名稱/platforms/android/gradle
而後把上面咱們找到的代碼修改爲:
var distributionUrl = process.env['CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL'] || '../gradle-2.14.1-all.zip';
搞定。
固然存在其餘路徑也是沒問題的,不過要想到跨域問題,因此咱們須要在響應路徑開啓本地服務。
此時地址就改爲本地並加上對應開啓服務的端口號。
var distributionUrl = process.env['CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL'] || 'http://127.0.0.1:8081/gradle-2.14.1-all.zip';
也搞定了。
ionic2打包android的app打開時很長時間白屏的簡單解決方法:
在用ionic build android
命令時,在後面加上--prod
參數,即便用ionic build android --prod
命令。
個人demo之前10幾秒啓動,加--prod
編譯後4秒啓動。
優化ionic2程序啓動速度方法貌似還有很多,之後有時間專門研究一下寫一篇全面點的。
謝謝你們閱讀到最後,有什麼問題歡迎交流!