• 【无标题】


    Android maven 仓库配置优化

    • 第三方仓库,一般只需要指定的 group 的库,此时可以使用:
    maven {
        url 'https://xxx.com'
        content {
            includeGroupByRegex 'com.company.*'
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 指定仓库仅包含指定的 group 相关库, 来减少频繁的仓库拉取操作。
      支持方法:
    includeGroup
    includeModule
    includeVersion
    excludeGroup
    ...
    
    • 1
    • 2
    • 3
    • 4
    • 5

    参考:https://docs.gradle.org/current/javadoc/org/gradle/api/artifacts/repositories/RepositoryContentDescriptor.html

    唯一排他的仓库

    有时候,有且仅有指定仓库,才包含 库。这样指定lib,只需要到指定的maven中拉取。
    不需要再去逐个获取失败,知道获取成功的方式。

    repositories {
        // This repository will _not_ be searched for artifacts in my.company
        // despite being declared first
        mavenCentral()
        exclusiveContent {
            forRepository {
                maven {
                    url "https://repo.mycompany.com/maven2"
                }
            }
            filter {
                // this repository *only* contains artifacts with group "my.company"
                includeGroup "my.company"
            }
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    这个代码表明,有且仅有这个仓库才包含 my.company group 的lib,遇到 my.company 就直接拉取这个仓库。

    参考:https://docs.gradle.org/current/javadoc/org/gradle/api/artifacts/repositories/InclusiveRepositoryContentDescriptor.html

    过滤snapshots和releases

    repositories {
        maven {
            url "https://repo.mycompany.com/releases"
            mavenContent {
                releasesOnly()
            }
        }
        maven {
            url "https://repo.mycompany.com/snapshots"
            mavenContent {
                snapshotsOnly()
            }
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    中国配置aliyun的仓库镜像替代官方

    Android现在默认使用 google、mavenCentral 两个,由于各种原因访问速度或不通。

    使用阿里替代

    repositories {
        //gradlePluginPortal()
        //google()
        //mavenCentral()
    
        maven { url 'https://maven.aliyun.com/repository/google' }
        //central和jcenter的聚合仓库
        maven { url 'https://maven.aliyun.com/repository/public' }
        //仅顶级build.gradle需配置插件仓库
        maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    阿里云云效Maven: https://developer.aliyun.com/mvn/guide

    gradle仓库配置文档

    https://docs.gradle.org/current/userguide/declaring_repositories.html

  • 相关阅读:
    macbook 从0开始下载git/nvm
    【一文讲明白什么是云原生,有什么优势】
    使用 SMI 指标增强股票分析:amCharts JS Crack
    Get请求如何传递数组、对象
    【无标题】
    MySQL性能优化-Mysql索引篇(3)
    HTML学生个人网站作业设计成品 HTML+CSS肖战明星人物介绍网页 web结课作业的源码
    linux-配置服务器之间 ssh免密登录
    Java脚本:获取距离当前日期接近的一个工作日
    tensorflow数据类型转换
  • 原文地址:https://blog.csdn.net/w709835509/article/details/128002671