在Android Studio升级到3.4.0版本后,如果使用了Plugin3.4.0的版本则Gradle版本需要升级到5.1.1+,关于Plugin和Gradle版本的对应关系可以参考官方链接https://developer.android.com/studio/releases/gradle-plugin#updating-gradle
在Gradle5.1之后,maven配置新增了两个配置,content和mavenContent,在项目中的build.gradle中配置
allprojects {
repositories {
maven {
url "http://repo.mycompany.com/maven2"
content {
includeGroup "my.company"
}
}
jcenter {
content {
excludeGroupByRegex "my\\.company.*"
}
}
maven {
url "http://repo.mycompany.com/releases"
mavenContent {
releasesOnly()
}
}
maven {
url "http://repo.mycompany.com/snapshots"
mavenContent {
snapshotsOnly()
}
}
}
}
content有这些:
- excludeGroup:在这个库中不搜索这个group,如my.company,但是只会匹配my.company,如果是my.company.module则不匹配。
- excludeGroupByRegex:类似excludeGroup,但是可以使用正则表达式,如my\\.company.*可以匹配my.company和my.company.module。
- excludeModule:精确匹配,指定group和module。
- excludeModuleByRegex:模糊匹配group和module,都可以使用正则表达式。
- excludeVersion:指定group,module,和version。
- excludeVersionByRegex:类似excludeVersion,可以使用正则。
- includeGroup:在这个库中搜索包含这个group,类似excludeGroup精确匹配。
- includeGroupByRegex:使用方法同2。
- includeModule:使用方法同3。
- includeModuleByRegex:使用方法同4。
- includeVersion:使用方法同5。
- includeVersionByRegex:使用方法同6。
- notForConfigurations:在这个库中不应用特定的配置。
- onlyForAttribute:在这个库中应用特定的配置。
- onlyForConfigurations:在这个库中仅应用特定的一组配置。
mavenContent只有两个releasesOnly和snapshotsOnly。分别表示只包含release和snapshots。