Stories

Detail Return Return

Android Gradle 國內主流鏡像倉庫全局配置方案 - Stories Detail

Android Gradle 國內主流鏡像倉庫全局配置方案

以下是整合了國內主流鏡像倉庫的全局配置方案,包括阿里雲、華為雲、騰訊雲等多個可靠鏡像源。

方案一:項目級 build.gradle 完整配置 (推薦)

buildscript {
    repositories {
        // 阿里雲鏡像
        maven { url 'https://maven.aliyun.com/repository/public' }
        maven { url 'https://maven.aliyun.com/repository/google' }
        maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
        maven { url 'https://maven.aliyun.com/repository/central' }
    
        // 華為雲鏡像
        maven { url 'https://repo.huaweicloud.com/repository/maven/' }
    
        // 騰訊雲鏡像
        maven { url 'https://mirrors.cloud.tencent.com/nexus/repository/maven-public/' }
    
        // 網易鏡像
        maven { url 'https://mirrors.163.com/maven/repository/maven-public/' }
    
        // 首都在線
        maven { url 'https://maven.oscs.oschina.net/content/groups/public/' }
    
        // 保留中央倉庫
        mavenCentral()
    
        // 保留Google倉庫(備選)
        google()
    }
}

allprojects {
    repositories {
        // 阿里雲鏡像
        maven { url 'https://maven.aliyun.com/repository/public' }
        maven { url 'https://maven.aliyun.com/repository/google' }
        maven { url 'https://maven.aliyun.com/repository/central' }
    
        // 華為雲鏡像
        maven { url 'https://repo.huaweicloud.com/repository/maven/' }
    
        // 騰訊雲鏡像
        maven { url 'https://mirrors.cloud.tencent.com/nexus/repository/maven-public/' }
    
        // 網易鏡像
        maven { url 'https://mirrors.163.com/maven/repository/maven-public/' }
    
        // 首都在線
        maven { url 'https://maven.oscs.oschina.net/content/groups/public/' }
    
        // 保留中央倉庫
        mavenCentral()
    
        // 保留Google倉庫(備選)
        google()
    }
}

方案二:全局 init.gradle 配置 (用户級)

~/.gradle/init.gradle​ 文件中添加:

allprojects {
    repositories {
        // 移除默認倉庫
        all { ArtifactRepository repo ->
            if (repo instanceof MavenArtifactRepository) {
                def url = repo.url.toString()
                if (url.contains('repo1.maven.org/maven2') || 
                    url.contains('jcenter.bintray.com') || 
                    url.contains('maven.google.com') || 
                    url.contains('plugins.gradle.org/m2')) {
                    remove repo
                }
            }
        }
    
        // 添加國內主流鏡像倉庫
        // 阿里雲鏡像
        maven { 
            url 'https://maven.aliyun.com/repository/public'
            allowInsecureProtocol = true
        }
        maven { 
            url 'https://maven.aliyun.com/repository/google'
            allowInsecureProtocol = true
        }
        maven { 
            url 'https://maven.aliyun.com/repository/gradle-plugin'
            allowInsecureProtocol = true
        }
    
        // 華為雲鏡像
        maven { 
            url 'https://repo.huaweicloud.com/repository/maven/'
            allowInsecureProtocol = true
        }
    
        // 騰訊雲鏡像
        maven { 
            url 'https://mirrors.cloud.tencent.com/nexus/repository/maven-public/'
            allowInsecureProtocol = true
        }
    
        // 網易鏡像
        maven { 
            url 'https://mirrors.163.com/maven/repository/maven-public/'
            allowInsecureProtocol = true
        }
    
        // 首都在線
        maven { 
            url 'https://maven.oscs.oschina.net/content/groups/public/'
            allowInsecureProtocol = true
        }
    
        // 保留中央倉庫
        mavenCentral()
    }
}

方案三:gradle-wrapper.properties 鏡像配置

修改 gradle/wrapper/gradle-wrapper.properties​ 使用國內鏡像下載Gradle:

# 阿里雲鏡像
distributionUrl=https\://mirrors.aliyun.com/gradle/gradle-8.0-bin.zip

# 或騰訊雲鏡像
# distributionUrl=https\://mirrors.cloud.tencent.com/gradle/gradle-8.0-bin.zip

# 或華為雲鏡像
# distributionUrl=https\://repo.huaweicloud.com/gradle/gradle-8.0-bin.zip

方案四:全局 gradle.properties 配置

~/.gradle/gradle.properties​ 中添加:

# 使用阿里雲鏡像代理
systemProp.http.proxyHost=mirrors.aliyun.com
systemProp.http.proxyPort=80
systemProp.https.proxyHost=mirrors.aliyun.com
systemProp.https.proxyPort=80

# 或者使用騰訊雲代理
# systemProp.http.proxyHost=mirrors.cloud.tencent.com
# systemProp.http.proxyPort=80
# systemProp.https.proxyHost=mirrors.cloud.tencent.com
# systemProp.https.proxyPort=80

國內主流鏡像倉庫列表

鏡像提供商 倉庫地址
阿里雲 https://maven.aliyun.com/repository/public
阿里雲(Google) https://maven.aliyun.com/repository/google
阿里雲(Gradle插件) https://maven.aliyun.com/repository/gradle-plugin
華為雲 https://repo.huaweicloud.com/repository/maven/
騰訊雲 https://mirrors.cloud.tencent.com/nexus/repository/maven-public/
網易 https://mirrors.163.com/maven/repository/maven-public/
首都在線 https://maven.oscs.oschina.net/content/groups/public/
中國科學技術大學 https://mirrors.ustc.edu.cn/nexus/content/groups/public/

最佳實踐建議

  1. 推薦組合:阿里雲 + 華為雲 + 騰訊雲鏡像組合使用
  2. 優先級:將最快的鏡像源放在前面
  3. 保留原始倉庫:保留 mavenCentral()​ 和 google()​ 作為備選
  4. 版本更新:定期檢查鏡像倉庫是否同步了最新依賴
  5. 網絡測試:不同地區對不同鏡像的訪問速度可能有差異,建議測試後選擇最優組合

以上配置已經覆蓋了國內主流的鏡像倉庫,可以有效解決Android項目構建時的依賴下載問題。

Add a new Comments

Some HTML is okay.