關於ionic2打包android時gradle下載不了的解決方法(附:簡單優化啓動速度彩蛋)

問題

以前在使用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程序啓動速度方法貌似還有很多,之後有時間專門研究一下寫一篇全面點的。

謝謝你們閱讀到最後,有什麼問題歡迎交流!

相關文章
相關標籤/搜索