問題
之前在使用ionic2時(shí)使用建立android平臺命令或者編譯時(shí),總是會(huì)在獲取gradle時(shí)卡住,等很久進(jìn)度也不變化,導(dǎo)致命令超時(shí)失敗。于是經(jīng)過查閱資料和自己實(shí)踐測試,總結(jié)出以下辦法。
方法
其實(shí)主要原因是用命令下載時(shí)用的是指定的下載途徑(可能不該這樣形容,歡迎大家評論批評指正),國內(nèi)通過這樣下載十分慢,甚至?xí)r斷時(shí)續(xù),從而導(dǎo)致出現(xiàn)上面的問題。
所以我們自己去下載gradle,存放在本地,然后更改配置文件,使其不去網(wǎng)上下載而是從我們指定的本地位置獲取。
首先我們打開下面這個(gè)js:
你的項(xiàng)目名稱/platforms/android/cordova/lib/builders/GradleBuilder.js
其中有對distributionUrl的默認(rèn)定義:
代碼如下:var distributionUrl = process.env['CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL'] || 'http//://services.gradle.org/distributions/gradle-2.14.1-all.zip';
我的是2.14.1版本,大家的版本可能不一樣,但是方法是一樣的,接下來我們只要修改這句就行了。
我們可以進(jìn)入上面代碼中的網(wǎng)址里找到對應(yīng)版本的gradle進(jìn)行下載:
http://services.gradle.org/distributions/
幫大家拿出來了,直接打開就好。
下載的gradle不需要解壓。
存放到如下路徑:
你的項(xiàng)目名稱/platforms/android/gradle
然后把上面我們找到的代碼修改成:
代碼如下:var distributionUrl = process.env['CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL'] || '../gradle-2.14.1-all.zip';
搞定。
當(dāng)然存在其他路徑也是沒問題的,不過要想到跨域問題,所以我們需要在響應(yīng)路徑開啟本地服務(wù)。
此時(shí)地址就改成本地并加上對應(yīng)開啟服務(wù)的端口號。
代碼如下:var distributionUrl = process.env['CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL'] || 'http://127.0.0.1:8081/gradle-2.14.1-all.zip';
也搞定了。
彩蛋
ionic2打包android的app打開時(shí)很長時(shí)間白屏的簡單解決方法:
在用ionic build android命令時(shí),在后面加上--prod參數(shù),即使用ionic build android --prod命令。
我的demo以前10幾秒啟動(dòng),加--prod編譯后4秒啟動(dòng)。
優(yōu)化ionic2程序啟動(dòng)速度方法貌似還有不少,以后有時(shí)間專門研究一下寫一篇全面點(diǎn)的。
謝謝大家閱讀到最后,有什么問題歡迎交流!
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持錯(cuò)新站長站。
新聞熱點(diǎn)
疑難解答
圖片精選