maven仓库

Android studio build项目下载失败:

Caused by: 
org.gradle.api.internal.artifacts.ivyservice.DefaultLenientConfiguration$ArtifactResolveException: 
Could not resolve all artifacts for configuration ':classpath'.
	
Caused by: org.gradle.internal.resolve.ArtifactResolveException: 
Could not download kotlin-gradle-plugin.jar (org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.31)
	
Caused by: org.gradle.api.resources.ResourceException: 
Could not get resource 'https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-gradle-plugin/1.3.31/kotlin-gradle-plugin-1.3.31.jar'.
	
Caused by: org.gradle.internal.resource.transport.http.HttpRequestException: 
Could not GET 'https://......



javax.net.ssl.SSLHandshakeException: 
Remote host closed connection during handshake

方式一:

//        google()	//https://dl.google.com/dl/android/maven2/
//        jcenter()	//https://jcenter.bintray.com/
//不使用https,改为
        maven { url 'http://maven.google.com' }
        maven { url "http://jcenter.bintray.com/" }

方式二:

关掉Android studio的 use secure connection
在这里插入图片描述

方式三:

关闭电脑防火墙

参考:

新版Bintray网站发布Library到JCenter

鸿洋:Android 快速发布开源项目到jcenter

利用jitpack.io发布Android、Java项目,通过gradle、maven方式引用

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



//格式:groupid:projectid:version


// https://mvnrepository.com/artifact/com.squareup.okhttp3/okhttp
compile group: 'com.squareup.okhttp3', name: 'okhttp', version: '4.0.0'

常用的依赖库

repositories {
	google()
	maven { url "https://dl.google.com/dl/android/maven2/" }
	//
	maven { url 'https://maven.google.com' }


	//JCenter仓库
	jcenter()
	maven { url "https://jcenter.bintray.com/" }


	//mvenCenter仓库
	mavenCentral()
	maven { url "https://repo.maven.apache.org/maven2/" }
	//
	maven { url "https://repo1.maven.org/maven2/" }
	maven { url "http://maven.aliyun.com/nexus/content/groups/public/" }
	
	
	// jitpack仓库
	maven { url "https://jitpack.io" }

	
	mavenLocal()
}
//        google()
//        jcenter()
//不使用https
        maven { url 'http://maven.google.com' }
        maven { url "http://jcenter.bintray.com/" }

JCenter、MavenCenter、JitPack

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

起初,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仓库,相当于定义了一个别名。

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设为了标准仓库。

JitPack

目前比较常用的Android Library仓库主要有Jcenter、Maven Central和JitPack。一开始Android Studio选择Maven Central作为默认仓库,但是后来因为上传开源库复杂度与安全方面等原因,Android Studio把默认的仓库替换成jcenter,即当你新建一个项目的时候,你会发现Android Studio已经自动在项目的build.gradle中帮你配制好了jcenter。

但是前2种发布过程是比较麻烦的,需要验证、审核、踩一系列的坑等等。而JitPack发布过程那就简单多了,几分钟搞定,所以选择了JitPack。

参考:
发布自己的开源库让他人使用——基于JitPack

  1. 新建项目和依赖

注意:由于JitPack最终生成的依赖名称(如下)是以项目名称命名的,
所以最好一开始创建项目的时候项目名称就要命名好,也可以后续在Github上修改项目的名称。

很多博客说需要步骤2和3,但是经过自己验证不加上也是可以的。

  1. 在项目的build.gradle中添加android-maven-gradle-plugin依赖,如下:
buildscript {
    dependencies {
        classpath 'com.android.tools.build:gradle:3.3.2'
        classpath 'com.github.dcendents:android-maven-gradle-plugin:1.4.1'//ADD
    }
}
  1. 在library的build.gradle中启用android-maven-gradle-plugin和配置你的group,如下:
apply plugin: 'java-library'
apply plugin: 'com.github.dcendents.android-maven'//ADD
  1. 将项目上传到Github

配置忽略文件, 上传项目

  1. 打开项目主页,创建releases

  2. 填写发布信息进行Releases或Tags代码发布

7 将项目发布到JitPack

1.进入JitPack官网 https://jitpack.io/ ,找到自己的项目

2.点击获取后,就会列出library的信息,并告诉你怎么使用

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值