https://blog.csdn.net/a13570320979/article/details/51470029
使用android studio进行开发的时候,常常需要用到第三方开源库,引用第三方库十分简单,只需在对应module下的build.gradle 文件中添加一行代码就行,例如:
dependencies {
compile'com.jakewharton:butterknife:6.1.0'
}
添加后,同步一下,android studio就会自动下载并引用该开源库,就可以直接在代码中使用该库了。
有没有好奇android studio是怎样找到这些库的?(反正最开始我是以为android studio通过内置的搜索然后下载一个合适的给我0.0)
其实android studio是从build.gradle里面定义的仓库服务器上下载对应的库的。项目根目录下的build.gradle定义了从什么仓库服务器下载库,
allprojects {
repositories {
jcenter()
}
}
这里定义的仓库就是:jcenter。
总的来说,有两个标准的android library服务器:jcenter和 maven central.
其中Jcenter是由bintray.com维护的Maven仓库,通过http://jcenter.bintray.com可以看到整个仓库的内容;在项目根目录的build.gradle下添加上述代码,就能使用jcenter仓库了;maven central是由sonatype.org维护的仓库,通过https://oss.sonatype.org/content/repositories/releases/可以看到整个仓库的内容,在项目根目录的build.gradle下添加代码:
allprojects {
repositories {
mavenCentral()
}
}
就能使用Maven central仓库了。虽然两者都是标准的android library仓库,当两者维护在不同的服务器上,即在Jcenter仓库上的库不一定在maven central上,在mavenCentral上的不一定在Center上。上传jar到哪个仓库取决于开发中的喜好。如果你使用旧版的android studio创建项目,默认使用的mavenCentral仓库,由于mavenCentral对用户不够友好,而且上传库困难,后来,studio的开发团队将默认仓库替换成Jcenter,使用新版的android studio创建项目后,可以看到build.gradle中使用的是Jcenter仓库。
当然除了标准仓库,我们还可以自定义仓库,如本文主要提到的Github开源仓库jitpack:
allprojects {
repositories {
jcenter()
maven { url"https://jitpack.io"}
}
}
总的来说,在android studio中依赖gradle库有以下三种方式:1.Jcenter;2.MavenCentral;3.使用自定义仓库。由于使用Jcenter和mavenCentral发布开源库过程比较繁琐,而且还需要等待审核结果,下面主要介绍如何在android studio上使用JitPack发布Github上的项目(想了解如何将库发布到Jcenter仓库,请点击Android 快速发布开源项目到jcenter)。
Jitpack实际上就是一个自定义的maven仓库,发布过程十分简单暴力:编写项目(库)->上传到Github->发布->在别的项目中引用。
第一步:创建工程(库),如下图,我创建了名为“OpenLibrary”的工程,里边有个“MyTool”工具类(随便创建测试的);
因为是library库,需要处理一下:如下,将module对应的build.gradle稍微修改。1.将apply plugin: 'com.android.application'改为apply plugin: 'com.android.library';2.注释applicationId.
第二步:上传项目给Github。
第三步:发布该库,在Github上打开该库,点击“release”,
接着点击“create a new release”,
填写相关信息(右边红色框是对Tag的说明),最后点击“uodate release”.
到这里,OpenLibrary库就发布完成了,是不是很简捷!发布之后,由于在Github上无法直接看到该库的引用信息,那么我们如何该如何获知?打开https://jitpack.io,在搜索输入OpenLibrary库的地址,点击“Look Up”之后,下方出现版本信息,点击对应版本的“Get it”,即可得到该OpenLibrary库的引用信息。
这里对OpenLibrary库的引用:
compile'com.github.Developmc:OpenLibrary:1.1.0'
其中:com.github.******是你的Github地址,OpenLibrary是库名称,1.1.0是版本号,无需使用https://jitpack.io,我们也能把它拼凑出来。到这里你的库就可以被其他开发者引用了!