• 问题描述
  • 解决方法
    • 先了解compile comsquareupokhttpokhttp240的意义
    • 了解Jcenter和Maven
      • jcenter
      • Maven Central
      • 理解jcenter和Maven Central
    • 快速搜索方法1
    • 快速搜索方法2
    • 快速搜索方法3
    • 因此要注意看你是想要那个版本的

问题描述

今天有个android开发者问了我下面的问题:

问个问题
比如我想找最新的okhhtp compile的最新那句话 compile ‘com.squareup.okhttp:okhttp:2.4.0’
2.4.0明显不是最新的

应该怎么找?

如下图所示:

好吧,就这个问题写一篇博客来描述怎么找到最新的第三方开发包的版本。

解决方法

先了解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

基本上我们可以从这一行代码可以了解到,引用一个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()}
}

Maven Central

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

allprojects {repositories {mavenCentral()}
}

注意,虽然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'

maven的相关信息为:

<!-- https://mvnrepository.com/artifact/com.squareup.okhttp/okhttp -->
<dependency><groupId>com.squareup.okhttp</groupId><artifactId>okhttp</artifactId><version>2.7.5</version>
</dependency>

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

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

快速搜索方法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'

快速搜索方法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

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

作者:欧阳鹏 欢迎转载,与人分享是进步的源泉!
转载请保留原文地址:http://blog.csdn.net/ouyang_peng/article/details/52490193

转载于:https://www.cnblogs.com/ouyangpeng/p/8537695.html

【我的Android进阶之旅】如何快速寻找Android第三方开源库在Jcenter上的最新版本...相关推荐

  1. 【我的Android进阶之旅】如何快速寻找Android第三方开源库在Jcenter上的最新版本

    问题描述 解决方法 先了解compile comsquareupokhttpokhttp240的意义 了解Jcenter和Maven jcenter Maven Central 理解jcenter和M ...

  2. 【我的Android进阶之旅】NDK开发引入第三方so库(比如assimp和opencv库)常出现的几个问题:missing and no known rule to make it等

    文章目录 一.写这篇博客的原因 二.错误一.ninja: error: 'xxx.so', needed by 'yyy.so', missing and no known rule to make ...

  3. android安卓实现圆形头像效果(使用第三方开源库)

    实现圆形头像方法有很多,此处使用个人认为最为方便,以及最为快速的一种方法,使用第三方开源库.此开源库提供了一个第三方ImageView的控件:RoundedImageView. 实现步骤: 第一步:引 ...

  4. 【我的Android进阶之旅】如何在Android中使用ARCore来增强人脸Augmented Faces?

    你想快速实现类似的效果吗?ARCore了解一下! 一.ARCore简单介绍 增强面部允许应用程序自然地区分个人面部的各个区域,并利用这些区域以适当匹配个人面部轮廓和区域的方式覆盖资源,例如表面和模型. ...

  5. 我的Android进阶之旅------【强力推荐】Android开源图表库XCL-Charts版本发布及展示页

    因为要做图表相关的应用,后来百度发现了一个很好的Android开源图表库(XCL-Charts is a free charting library for Android platform.) 下面 ...

  6. 【我的Android进阶之旅】如何在Android Studio开发NDK的时候,通过addr2line或者ndk-stack来定位出错代码的位置

    文章目录 一.错误描述 1.1 写一段有错误代码 1.2 运行程序,查看错误日志 二.如何分析错误? 2.1 分析错误 2.2 异常时 信号 和 PC寄存器值 2.2.1 信号 2.2.2 PC寄存器 ...

  7. 【开源框架】Android之史上最全最简单最有用的第三方开源库收集整理,有助于快速开发,欢迎各位网友补充完善...

    链接地址:http://www.tuicool.com/articles/jyA3MrU 时间 2015-01-05 10:08:18  我是程序猿,我为自己代言 原文  http://blog.cs ...

  8. 开源框架】Android之史上最全最简单最有用的第三方开源库收集整理,有助于快速开发

    Android开源库 自己一直很喜欢Android开发,就如博客签名一样, 我是程序猿,我为自己代言 . 在摸索过程中,GitHub上搜集了很多很棒的Android第三方库,推荐给在苦苦寻找的开发者, ...

  9. 开源框架】Android之史上最全最简单最有用的第三方开源库收集整理,有助于快速开发...

    [原][开源框架]Android之史上最全最简单最有用的第三方开源库收集整理,有助于快速开发,欢迎各位... 时间 2015-01-05 10:08:18 我是程序猿,我为自己代言 原文   http ...

最新文章

  1. ASP.NET MVC – 视图简介
  2. PHP中的 fastcgi_finish_request();
  3. C++ 中assert()函数用法总结
  4. GIT常用命令--拉取提交
  5. 深度学习03——CNN
  6. android 代理 wifi热点,android wifi热点默认网关
  7. java复制arraylist_Java - 复制ArrayList
  8. java明星游戏_#IT明星不是梦#Java14不得不知的5个新功能
  9. RN学习(一)——创建第一个RN项目
  10. java实现打印菱形(任意输入数字打印任意阶菱形)
  11. 澳洲计算机设计专业大学排名,澳洲设计专业大学排名TOP5
  12. SDUT OJ C语言实验——Hello World!(printf练习)
  13. texstudio暗色主题
  14. 【路科V0】systemVerilog基础11——随机变量
  15. win11找不到恢复环境怎么恢复出厂设置
  16. Friedman 检验--Matlab
  17. 代购网店:iPad 2最快后天抵沪
  18. RSD 教程 —— 0 关于 RSD
  19. 高电平低电平是什么意思
  20. 【娱乐向】Java古风玛丽苏诗句生成器

热门文章

  1. 操作系统二:计算机内存体系
  2. https安全传输揭秘
  3. 使用xshell远程连接Linux
  4. ubuntu中安装ffmpeg+mencoder转换flv -
  5. 【转】父类子类指针相互转换问题
  6. php admin允许空密码登陆
  7. IOS中initWithFrame 和 initWithCoder的区别
  8. golang web开发框架 Beego
  9. [JavaWeb] SSM框架 部署运行第一个Demo
  10. Maven(八)Eclipse创建Web项目(复杂方式)