安卓應(yīng)用現(xiàn)在很多都是基于gradle進(jìn)行大包,ionic默認(rèn)的打包命令
cordova? build --release? android
就是使用gradle進(jìn)行打包,但同時ionic也支持int這種以前的打包方式。不過需要特定的指出,命令如下。
cordova build android -- --ant
回歸正題,我們使用gradle打包的時候需要去下載gradle,很多時候打包失敗就是因為我們下載不了gradle,導(dǎo)致超時失敗。解決的方法就是我們自己去下載gradle,存放在本地,然后更改配置文件,使其不去下載。
我們找到指定路徑的文件,如下:
yourproject/platforms/android/cordova/lib/builders/GradleBuilder.js
其中對distributionUrl的定義:
var distributionUrl = process.env['CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL'] || 'http\\://services.gradle.org/distributions/gradle-2.2.1-all.zip';
我們只要修改這句就行了。
我們下載的gradle(未解壓的.zip格式)存放在本地有兩種方法:
1)存放到項目文件下下面,對應(yīng)的路徑為
yourproject/platforms/android/gradle
然后修改成:
var distributionUrl = process.env['CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL'] || '../gradle-2.4-all.zip';
這樣就可以了。
2)存放在我們電腦其他路徑,開啟http服務(wù),讓url指向我們本地,這樣做可以讓我們的gradle文件為以后的工程使用。
var distributionUrl = process.env['CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL'] || 'http://127.0.0.1:8080/gradle-2.4-all.zip';
===============分割線=====================
其實(shí)我懷疑能直接修改process.env['CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL']這個參數(shù)的路徑,使它指向本地的路徑,不過目前還沒有找到。