Android Studio之Gradle依赖jcenter()maven()mavenCentral()jitpack
Posted LVXIANGAN
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android Studio之Gradle依赖jcenter()maven()mavenCentral()jitpack相关的知识,希望对你有一定的参考价值。
初看Module模块gradle文件会发现依赖内容如下,只要写几句名称+版本,就可以实现引用jar包效果:
以 androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0' 为例子:
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
怎么知道写这些东西?版本号能随意填吗?答案是:不能!因为上述library库都是上传到远程服务器的,gradle写的版本号,必须要与服务器上的唯一对应,不能随意填。
那远程服务器又在哪里呢?如图:
市场的一些常用maven仓库,都对应着一个服务器地址,入口:
- google():对应 https://maven.google.com
- jcenter():对应 http://jcenter.bintray.com/
区别就不一累赘了,可自行了解。
我们可以登录maven仓库地址,搜索“espresso-core” 可以看到类似以下页面
可以看到结构由:groupId 冒号 artifactId 冒号 version 组成。
总结:Gradle会向Maven仓库服务器询问library是否存在,如果存在,则会返回library的下载地址,根据GROUP_ID/ARTIFACT_ID/VERSION_ID格式,例如从http://jcenter.bintray.com/com/squareup/espresso-core/3.3.0找到 androidx.test.espresso:espresso-core 的library文件,然后Android Studio会下载这些文件到我们的机器上,再编译到我们的项目中。
PS:如果国外Maven仓库下载很慢,建议使用阿里云效Maven
repositories
maven
url'http://maven.aliyun.com/nexus/content/groups/public/'
maven
url'http://maven.aliyun.com/nexus/content/repositories/jcenter'
google()
jcenter()
以上是关于Android Studio之Gradle依赖jcenter()maven()mavenCentral()jitpack的主要内容,如果未能解决你的问题,请参考以下文章
Android Studio使用Composing builds统一依赖管理
Android Studio使用Composing builds统一依赖管理