什么是Maven、JCenter、MavenCenter、JitPack、Bintray

Maven仓库

在用Eclipse+Ant组合的时候,我们往往引入一个库都是下载jar包或者aar包放到lib目录下,然后右键添加引用。
But!这并不友好,比如当升级版本库的时候往往需要下载新的包替换引用,非常麻烦。
所以,当升级到Android Studio + Gradle 组合后 gradle中提供了可以从远端拉取jar包和aar包引入本地。

这个概念我们懂了。但是这个下载源是哪呢,就是maven仓库。那maven仓库的地址是什么呢,是不是Android Studio都是从一个仓库获取包呢,这时候就需要了解 JCenter、MavenCenter、JitPack 了

JCenter、MavenCenter、JitPack

这3个名词即具体的Maven仓库的地址,他们都是Maven仓库,但是属于不同的服务源。总的来说,只有两个标准的Android library文件服务器:Jcenter 和 Maven Central,现在JitPack也流行了起来。(比较方便)

从哪引用这几个Maven仓库呢,就是在根目录build.gradle中

allprojects {
    repositories {
        jcenter()      //JCenter仓库
        mavenCenter()    //mvenCenter仓库
        maven { url "https://jitpack.io" }   // jitpack仓库
    }
}

 具体使用哪个要看开源项目把Library传到了哪个仓库。它就会要求你在这加哪个仓库。
起初,Android Studio 选择Maven Central作为默认仓库。如果你使用老版本的Android Studio创建一个新项目,mavenCentral()会自动的定义在build.gradle中。
但是Maven Central的最大问题是对开发者不够友好。上传library异常困难。上传上去的开发者都是某种程度的极客。同时还因为诸如安全方面的其他原因,Android Studio团队决定把默认的仓库替换成jcenter。正如你看到的,一旦使用最新版本的Android Studio创建一个项目,jcenter()自动被定义,而不是mavenCentral()
我们发现第三个jitpack的写法和前2个不一样,写法是maven {} 里面加入地址,其实这个才是maven仓库标准引用方法,jcenter和mavenCenter由于是标准的Android仓库,相当于定义了一个别名。
所以一些自定义的仓库都是这种写法然后填入自己的仓库网址,比如Fabric.io的library

Bintray是什么

Bintray其实只是一个网站,他们负责维护JCenter这个库,就是说JCenter库是托管在Bintray网站上的。
但是Bintray不只只有JCenter库,每个人都可以在上面创建自己的账号,生成自己的maven仓库,比如我的账号tangsiyuan下面创建了一个名叫"maven"的maven仓库。那我的maven仓库地址就是
https://dl.bintray.com/tangsiyuan/maven
当然也可以再build中引入

maven { url 'https://dl.bintray.com/tangsiyuan/maven' }

 而JCenter仓库只是Bintray官方账户创建的一个maven仓库,地址是
https://jcenter.bintray.com

其实个人的仓库和JCenter是平级的,只不过JCenter被Android Studio设为了标准仓库。

 

 

 

 

  • 7
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值