Gradle 依赖库下载

Gradle 依赖库下载

在我们使用Gradle下载相关依赖库的时候,经常会出现下载过慢或者下载不了的情况。相关原因及尝试解决办法如下:


无法找到目标路径

//原因:无法找到到请求目标的有效认证路径
Cause: unable to find valid certification path to requested target

可能是AS开启了离线模式,关闭离线模式后重新尝试或许可以解决。


无法访问对应jar包的下载地址

可能是代码所在仓库未添加到build.gradle文件中,我们可以做如下修改

allprojects {
        repositories {
            google()
            jcenter()
            mavenCentral()
            mavenLocal()
            //声明特定的代码库
            maven {
                url '**'
            }
        }
    }

Android Studio 项目会将 Google 的 Maven 代码库和 JCenter 指定为项目的顶级 build.gradle 文件中的代码库位置,
如果要从 Maven 中央代码库获取某些内容,则添加 mavenCentral();对于本地代码库,则使用 mavenLocal(),
我们也可以使用 maven{ url ‘**’ }来声明特定的代码库。


项目存储位置和本地缓存库不一致

Android studio 编译项目是有缓存的,不会每次编译都去下载三方库,下载过的三方库都存储在本地,位置:C:\{user}\ .gradle\caches\transforms-1\files-1.1
Gradle 依赖库下载_第1张图片

项目中使用三方库的配置文件存储在 .idea/libraries/,我们需要保证项目中的配置文件指向的是正确的地址。

Gradle 依赖库下载_第2张图片

下载过慢的处理

如果遇到下载过慢,我们可以使用软件,或者使用国内镜像,比如使用开源中国的maven代码仓库,
http://maven.aliyun.com/nexus/content/groups/public/ ,注意是把jcenter注释掉


创建本地代码仓库

如果上述方式都无法解决,我们可以尝试创建本地仓库,然后从网上下载对应的jar/aar,及其pom文件,放置在本地仓库中引用。

1、下载 maven 压缩包

maven 下载地址

Gradle 依赖库下载_第3张图片

2、配置环境变量

将下载的 maven 压缩包解压到本地,然后将路径配置到环境变量中。
Gradle 依赖库下载_第4张图片
Gradle 依赖库下载_第5张图片

Gradle 依赖库下载_第6张图片
安装后,在命令行输入mvn -v验证是否配置成功
Gradle 依赖库下载_第7张图片

3、配置 maven 本地仓库地址

修改settings.xml文件如下,添加本地仓库地址
Gradle 依赖库下载_第8张图片


  
  D:\localRepository

4、下载对应jar/aar包

如果我们知道地址可以直接下载,或者网上查询对应的下载地址。不过在我们编译时Android studio 会告诉我们哪些三方库下载不了,提示里面就有对应的下载地址。

我们以 arcgis-android:100.6.0 为例,AS 提示如下:

Could not resolve all files for configuration ':device:debugCompileClasspath'.
> Could not download arcgis-android.aar (com.esri.arcgisruntime:arcgis-android:100.6.0)
   > Could not get resource 'https://esri.bintray.com/arcgis/com/esri/arcgisruntime/arcgis-android/100.6.0/arcgis-android-100.6.0.aar'.
   //....
  • 我们使用浏览器打开https://esri.bintray.com/arcgis/com/esri/arcgisruntime/arcgis-android/100.6.0/
    Gradle 依赖库下载_第9张图片
    可以看到里面有我们需要的两个文件

5、本地仓库中创建对应目录

我们要在本地代码仓库中创建和下载地址相同的相对路径(目录)

其实通过下载地址和我们本地配置的arcgis的d代码库就可以看出来,AS是怎么对需要下载的文件进行寻址的。

  • 我们项目中配置的arcgis代码仓库
        maven {
            url 'https://esri.bintray.com/arcgis'
        }
  • 下载地址
    Gradle 依赖库下载_第10张图片
  • 创建对应的目录
    Gradle 依赖库下载_第11张图片

手动一个个目录的创建有些吃力,我们可以通过命令行创建多级目录,如下:
1、我们在本地代码仓库的目录栏中输入cmd打开命令行
2、使用md命令创建多级目录,格式如图
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OvdWwQhC-1586225212881)(_v_images/20200218105604709_17092.png)]

  • 将对应的jar/aar及其pom文件放置在对应目录中

6、修改项目配置文件

project 层级的 bulid.gradle文件

allprojects {
    repositories {
		//添加本地代码仓库
        maven {
            url 'D:/localRepository/'
        }
        mavenLocal()
    }
}

7、重新编译项目

上述步骤都做完后,我们就可以重新编译项目了。

你可能感兴趣的:(android,android,studio,android,studio,gradle)