近來遷移了一些項(xiàng)目到Android Studio,采用Gradle構(gòu)建確實(shí)比原來的Ant方便許多。但是編譯時(shí)下載依賴的網(wǎng)速又著實(shí)令人蛋疼不已。
如果能切換到國內(nèi)的Maven鏡像倉庫,如開源中國的Maven庫,又或者是換成自建的Maven私服,那想必是極好的。
一個(gè)簡單的辦法,修改項(xiàng)目根目錄下的build.gradle,將jcenter()或者mavenCentral()替換掉即可:
allprojects {
    repositories {
        maven{ url 'http://maven.oschina.net/content/groups/public/'}
    }
}
但是架不住項(xiàng)目多,難不成每個(gè)都改一遍么?
自然是有省事的辦法,將下面這段Copy到名為init.gradle文件中,并保存到 USER_HOME/.gradle/文件夾下即可。
allprojects{
    repositories {
        def REPOSITORY_URL = 'http://maven.oschina.net/content/groups/public'
        all { ArtifactRepository repo ->
            if(repo instanceof MavenArtifactRepository){
                def url = repo.url.toString()
                if (url.startsWith('https://repo1.maven.org/maven2') || url.startsWith('https://jcenter.bintray.com/')) {
                    project.logger.lifecycle "Repository ${repo.url} replaced by $REPOSITORY_URL."
                    remove repo
                }
            }
        }
        maven {
            url REPOSITORY_URL
        }
    }
}
init.gradle文件其實(shí)是Gradle的初始化腳本(Initialization Scripts),也是運(yùn)行時(shí)的全局配置。
更詳細(xì)的介紹請(qǐng)參閱 http://gradle.org/docs/current/userguide/init_scripts.html
Reference
Dependency Management
Change Gradle mavenCentral URL to My repo
What is included in JCenter repository in Gradle?