Android工程Gradle仓库配置及说明

 

一、引言

作为Android开发人员都知道,在使用Android Studio工具开发只要增加依赖导入就可以加载公共库,这个是相当的方便,也是AS的优势之一,那么这个是什么原理呢?Android Studio 是基于 Gradle 构建系统,并通过适用于 Gradle 的 Android 插件提供更多面向 Android 的功能。通俗来讲,大部分工程都不太可能完全自给自足,一般你都会用到其他工程的文件,这些文件就是工程的依赖。Gradle 需要你告诉它工程的依赖是什么,它们在哪,然后帮你加入构建中。依赖可能需要去远程库下载,比如 Maven 或者 Ivy 库。也可以是本地库,甚至可能是另一个工程。

二、项目的仓库依赖

一个工程中,项目的依赖关系在 build.gradle 文件中按名称指定。 Gradle 可自动查找您的依赖关系,并在构建中提供。 可以在 build.gradle 文件中声明模块依赖关系、远程二进制依赖关系以及本地二进制依赖关系。而依赖仓库需在Android Studio工程根目录下的build.gradle文件中指定,其中可以设置使用多种类型的仓库,来获取应用中使用的库文件。

例如:

repositories {
    google()    //since gradle 4.0
    jcenter()
    mavenCentral()
    maven { url "https://jitpack.io" }
    maven { url "http://maven.aliyun.com/nexus/content/groups/public/" }
    maven { url 'http://maven.oschina.net/content/groups/public/' }
    maven { url 'https://oss.sonatype.org/content/repositories/snapshots/' }
    maven { url "http://maven.springframework.org/release" }
    maven { url "http://maven.restlet.org" }
    maven { url "http://repo.baichuan-android.taobao.com/content/groups/BaichuanRepositories/" }
    ivy { url "http://repo.mycompany.com/repo" }
}

常见的类型有如下几种:

类型说明
Maven central repositoryMaven的中央仓库,无需配置,直接声明就可以使用,但不支持https协议访问
Maven JCenter repositoryJCenter中央仓库,实际也是是用的maven搭建的,但相比Maven仓库更友好,通过CDN分发,并且支持https访问
Maven google repositoryGoogle 自家的 maven 仓库
Maven local repositoryMaven本地的仓库,可以通过本地配置文件进行配置
Maven repository常规的第三方Maven仓库,可设置访问Url
Ivy repositoryIvy仓库,可以是本地仓库,也可以是远程仓库

Android Studio Gradle 主要支持两个 Maven 中央库:mavenCentral 和 jcenter,配置项目时默认使用 mavenCentral。

maven 仓库规范:

maven {
    url 'xxx'
}

或者

maven { url 'xxx' }

三、重点仓库介绍

Maven 是什么,请参考 Apache Maven。Maven 包集中存放的地方,就是 Maven 仓库。这些仓库,可以是放在本地,也可以放在某个远程服务器上。可以是私有仓库,也可以是公开的。

3.1 mavenCentral

mavenCentral 则是由sonatype.org维护的Maven仓库,是最早的 maven 中央仓库。

3.2 jcenter

jcenter是一个由 bintray.com维护的Maven仓库,它是当前世界上最大的Java和Android开源软件构件仓库。 所有内容都通过内容分发网络(CDN)使用加密https连接获取。

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

3.3 google

Google自家的maven 仓库,可以通过 这里 查看支持支持下载的包。

3.4 jitpack.io

JitPack实际上是一个自定义的Maven仓库,不过它的流程极度简化。是一个用于JVM和Android项目的新开源仓库,它按需构建Git项目,并为提供即用型工件(jar,aar)。傻瓜式的操作,真的很方便。

3.5 aliyun

阿里云在2016年08月上线了Maven仓库,URL: http://maven.aliyun.com ,即:

 maven { url "http://maven.aliyun.com/nexus/content/groups/public/" }

解决国内使用Maven从仓库下载Jar或其他文件的时候响应速度慢的问题。

四、总结

上面概括了依赖库及加载方式,实际上,开发者一般也不管放在哪里,只要能引用到就行。反过来,那如何添加或分享自已的开源库呢?推荐使用jitpack.io发布Android、Java项目,通过gradle、maven方式引用。使用jitpack.io,相比之前jcenter,简化及方便了非常多,操作说明可以参考 jitpack官网

Refer

 

 

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Flutter Gradle 仓库配置用于指定 Gradle 构建工具在构建 Flutter 项目时从哪个仓库下载所需的依赖库。以下是 Flutter Gradle 仓库配置的一些重要内容。 首先,在 Flutter 项目的 `android/build.gradle` 文件中,我们可以找到 Gradle 仓库配置项 `repositories`。在这个配置项中,可以指定从哪些仓库下载依赖。 一般情况下,你会看到如下的配置项: ```gradle allprojects { repositories { google() jcenter() } } ``` 这个配置项中有两个默认的仓库,即 Google Maven 仓库和 JCenter 仓库。这两个仓库包含了很多常用的依赖库。当 Gradle 需要下载依赖时,会优先从这两个仓库中查找并下载。 除了默认的仓库,我们也可以添加其他自定义仓库。例如,如果项目中使用了一些第三方的依赖库,而这些依赖库并不在默认的仓库中,我们可以在 `repositories` 配置项中添加额外的仓库地址。例如: ```gradle allprojects { repositories { google() jcenter() maven { url 'https://maven.example.com/repo/' } } } ``` 上面的例子中添加了一个自定义的 Maven 仓库地址。 每个仓库地址对应一个远程仓库Gradle 构建工具会通过该地址从远程仓库下载所需的依赖库。在下载依赖时,Gradle 会检查本地的缓存,如果本地已经有了相同的依赖库,则不会再次下载。 通过正确配置 Gradle 仓库,我们可以确保在构建 Flutter 项目时能够正确地下载并使用所需的依赖库。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值