zoukankan      html  css  js  c++  java
  • jcenter maven 库

    先了解compile ‘com.squareup.okhttp:okhttp:2.4.0’的意义

    首先我们要了解compile ‘com.squareup.okhttp:okhttp:2.4.0’这一行gradle代码的意义。

    compile 'com.squareup.okhttp:okhttp:2.4.0
    • 1

    基本上我们可以从这一行代码可以了解到,引用一个library的代码需要3个部分,即:

    GROUP_ID:ARTIFACT_ID:VERSION

    在这句代码里面的 
    GROUP_ID 是com.squareup.okhttp, 
    ARTIFACT_ID 是okhttp, 
    VERSION 是2.4.0 
    按照我的理解, 
    GROUP_ID就像是我们写一个项目使用的公司包名一样,表示自己所在的团队或个人, 
    ARTIFACT_ID我认为就是这个类库的名称,用于区分同一个GROUP下不同的类库, 
    最后的VERSION顾名思义就是版本号。

    了解Jcenter和Maven

    Android Studio是从build.gradle里面定义的Maven 仓库服务器上下载library的。Apache Maven是Apache开发的一个工具,提供了用于贡献library的文件服务器。总的来说,只有两个标准的Android library文件服务器:jcenter 和 Maven Central。

    jcenter

    jcenter是一个由 bintray.com维护的Maven仓库 。你可以在这里看到整个仓库的内容。 
    我们在项目的build.gradle 文件中如下定义仓库,就能使用jcenter了:

    allprojects {
        repositories {
            jcenter()
        }
    }
    • 1
    • 2
    • 3
    • 4
    • 5

    Maven Central

    Maven Central 则是由sonatype.org维护的Maven仓库。你可以在这里看到整个仓库。 
    注:不管是jcenter还是Maven Central ,两者都是Maven仓库 
    我们在项目的build.gradle 文件中如下定义仓库,就能使用Maven Central了:

    allprojects {
        repositories {
            mavenCentral()
        }
    }
    • 1
    • 2
    • 3
    • 4
    • 5

    注意,虽然jcenter和Maven Central 都是标准的 android library仓库,但是它们维护在完全不同的服务器上,由不同的人提供内容,两者之间毫无关系。在jcenter上有的可能 Maven Central 上没有,反之亦然。

    理解jcenter和Maven Central

    为何有两个标准的仓库?

    事实上两个仓库都具有相同的使命:提供Java或者Android library服务。上传到哪个(或者都上传)取决于开发者。

    起初,Android Studio 选择Maven Central作为默认仓库。如果你使用老版本的Android Studio创建一个新项目,mavenCentral()会自动的定义在build.gradle中。

    但是Maven Central的最大问题是对开发者不够友好。上传library异常困难。上传上去的开发者都是某种程度的极客。同时还因为诸如安全方面的其他原因,Android Studio团队决定把默认的仓库替换成jcenter。正如你看到的,一旦使用最新版本的Android Studio创建一个项目,jcenter()自动被定义,而不是mavenCentral()。

    有许多将Maven Central替换成jcenter的理由,下面是几个主要的原因。 
    1. jcenter通过CDN发送library,开发者可以享受到更快的下载体验。 
    2. jcenter是全世界最大的Java仓库,因此在Maven Central 上有的,在jcenter上也极有可能有。换句话说jcenter是Maven Central的超集。 
    3. 上传library到仓库很简单,不需要像在 Maven Central上做很多复杂的事情 
    4. 友好的用户界面

    基于上面的原因以及我自己的经验,可以说替换到jcenter是明智之举。

    快速搜索方法1:

    这里写图片描述 
    如刚才那位开发者的提问一样,既然他是想要com.squareup.okhttp:okhttp的最新版本,那么我就去搜索com.squareup.okhttp:okhttp。如下图所示: 
    这里写图片描述
    可以看到搜索第一个排名就是com.squareup.okhttp:okhttp的maven的相关信息,点击进入: 
    这里写图片描述
    可以看到com.squareup.okhttp:okhttp的最新版本为2.7.5 
    点击 2.7.5 的链接,进入如下如所示的界面: 
    这里写图片描述
    上面写了com.squareup.okhttp:okhttp的gradle的相关配置信息为:

    // https://mvnrepository.com/artifact/com.squareup.okhttp/okhttp
    compile group: 'com.squareup.okhttp', name: 'okhttp', version: '2.7.5'
    
    • 1
    • 2
    • 3

    maven的相关信息为: 
    这里写图片描述

    <!-- https://mvnrepository.com/artifact/com.squareup.okhttp/okhttp -->
    <dependency>
        <groupId>com.squareup.okhttp</groupId>
        <artifactId>okhttp</artifactId>
        <version>2.7.5</version>
    </dependency>
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    因此可以知道com.squareup.okhttp:okhttp的最新版本为2.7.5,如果我们要在项目中使用com.squareup.okhttp:okhttp的话,只要在gradle文件中配置如下的命令即可。

    compile 'com.squareup.okhttp:okhttp:2.7.5'
    • 1

    快速搜索方法2:

    当然我们也可以直接进入 https://bintray.com/ 网站搜索com.squareup.okhttp:okhttp,如下图所示 
    这里写图片描述

    然后搜索com.squareup.okhttp:okhttp,如下图所示: 
    这里写图片描述
    搜索结果如下所示: 
    这里写图片描述
    如图所示,我们可以知道com.squareup.okhttp:okhttp的最新版本为2.7.5,点击链接com.squareup.okhttp进入如下界面: 
    这里写图片描述

    如上图所示,如果我们要在项目中使用com.squareup.okhttp:okhttp的话,只要在gradle文件中配置如下的命令即可。

    compile 'com.squareup.okhttp:okhttp:2.7.5'
    • 1

    快速搜索方法3:

    直接去github上搜索 okhttp 
    这里写图片描述
    点击连接 square/okhttp 进入:https://github.com/square/okhttp 
    这里写图片描述
    下面就有如何引入okhttp的方式,如下图所示: 
    这里写图片描述
    如上图所示,表面okhttp最新版本是3.4.1,不过这是okhttp3.x版本的,之前那哥们要的是2.x版本

    我们又进入maven网站去搜索 com.squareup.okhttp3 
    这里写图片描述

    搜 com.squareup.okhttp 
    这里写图片描述
    这里写图片描述

    因此要注意看你是想要那个版本的。

  • 相关阅读:
    Android标题栏最右边添加按钮
    Activity标题栏添加返回按钮
    【Android】解决Android横竖屏切换数据丢失问题的方法
    Android热更新,到底是更新啥?
    vm ware 虚拟WIN10 时,chrome ,cent browser 显示异常,花屏
    动态生成的 select option 无法选中,设置值
    安装sql 2012 时遇到“需要更新的以前的 Visual Studio 2010 实例。”规则失败。
    C#.NET 简单使用log4net
    10位,13位时间戳转为C#格式时间
    C# .NET Unix 时间戳
  • 原文地址:https://www.cnblogs.com/ouyangping/p/8157565.html
Copyright © 2011-2022 走看看