从.Net到Android之十:Android Studio依赖库

除了自己学习创建项目,很多时候,在实际的开发过程中我们都是接手别人的项目进行开发。这时候,Android项目的依赖库就是个比较大的坑。

在开始接收一个Android项目时,我们从Git库或者其它同事手上将代码存放到本地某个目录。但是因为大部分时候依赖库是和代码分开存放的,所以拿到的代码里面,并没有依赖库数据。此时,如何获取依赖库的所有Jar包就是需要面对的第一个问题。

打开工程项目时,Gradle会自动到指定的Maven仓库服务器去下载所有依赖的Jar包。AS系统默认的Android library文件服务器主要是mavenCentral和jcenter。

Android Studio主要提供了以下6种方式来进行依赖库的导入。
1、jcenter
jcenter是由 bintray.com维护的Maven仓库。可以在https://jcenter.bintray.com/看到整个仓库的内容。

buildscript { 
	repositories {
	  jcenter()
	} 
}

2、mavenCentral
mavenCentral是由sonatype.org维护的Maven仓库。可以在https://repo1.maven.org/maven2/看到整个仓库。

不管是jcenter还是mavenCentral,两者都是Maven仓库。jcenter与mavenCenter在不同的服务器上维护,由不同的人提供内容,两者之间毫无关系。在jcenter上有的可能mavenCentral上没有,反之亦然。Gradle支持从mavenCentral中央仓库和jcenter上获取构件。两个仓库都具有相同的使命:提供Java或者Androidlibrary服务。上传到哪个(或者都上传)取决于开发者。

buildscript { 
	repositories {
	  mavenCentral()
	} 
}

3、google仓库
在gradle4.1之后,添加了新的语法google(),用于引用google自有的仓库。很方便,但是不便于研究被依赖的jar源文件。

buildscript { 
	repositories {
	  google()
	} 
}

4、jitpack仓库
JitPack提供的仓库


buildscript { 
	repositories {
	  maven { url "https://jitpack.io" }
	} 
}

5、本地仓库MavenLocal
把以前下载的library存放在本机的某个指定目录上(本地库,local repository(${user.home}/.m2/repository) ),下次使用时,可以直接去提取。

buildscript { 
	repositories {
	  mavenLocal()
	} 
}

6、搭建私有仓库
在国内使用jcenter、mavenCentral或google三个远程仓库,Gradle Sync会很慢,goole仓库甚至需要科学上网才能访问。为了加快Gradle Sync速度,小伙伴们发挥了自己的聪明才智,将下载的依赖包(library)放在自己搭建的服务器上,并分享给大家进行下载,美其名曰国内镜像站点。

这种国内镜像站点我们可以通过maven { url 'https://xxx.xx.com/libs'}这样的格式进行取用

阿里作为国内非常优秀的一家科技公司,提供了不少的国内镜像站点。我们可以优先使用阿里的镜像仓库作为主下载源。

阿里云maven仓库镜像地址
https://maven.aliyun.com/nexus/content/repositories/jcenter
https://maven.aliyun.com/nexus/content/groups/public
https://maven.aliyun.com/nexus/content/repositories/google

buildscript { 
	repositories {
	  maven { url 'https://maven.aliyun.com/nexus/content/repositories/jcenter'}
        maven { url 'https://maven.aliyun.com/nexus/content/groups/public'}
        maven { url 'https://plugins.gradle.org/m2/'}
        maven { url 'https://maven.aliyun.com/nexus/content/repositories/google'}
	} 
}

问题一:什么是依赖库?
依赖库(Repository)是工程项目需要用到的外部文件的集合,这些文件通过group、name和version 等配置格式组织起来,外在体现为jar包文件和xml文件。
Gradle 通过这些Repository配置找到外部依赖(external dependencies)文件,并在进行构建时一起打包。
Gradle 并不默认指定任何仓库。它支持很多仓库,如maven、ivy,通过文件访问或者通过HTTP 访问。

参考:https://blog.csdn.net/csdnlijingran/article/details/80612363

问题二:工程项目依赖库配置在哪里?
在项目的build.gradle文件里面,包括以下两个配置项:
buildscript { repositories {} }
allprojects { repositories {} }

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值