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

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

下载过慢的处理

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


创建本地代码仓库

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

1、下载 maven 压缩包

maven 下载地址

2、配置环境变量

将下载的 maven 压缩包解压到本地,然后将路径配置到环境变量中。


安装后,在命令行输入mvn -v验证是否配置成功

3、配置 maven 本地仓库地址

修改settings.xml文件如下,添加本地仓库地址

    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/

    可以看到里面有我们需要的两个文件

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

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

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

  • 我们项目中配置的arcgis代码仓库
        maven {            url 'https://esri.bintray.com/arcgis'        }
  • 下载地址
  • 创建对应的目录

手动一个个目录的创建有些吃力,我们可以通过命令行创建多级目录,如下:
1、我们在本地代码仓库的目录栏中输入cmd打开命令行
2、使用md命令创建多级目录,格式如图

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

6、修改项目配置文件

project 层级的 bulid.gradle文件

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

7、重新编译项目

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

更多相关文章

  1. Android(安卓)怎么样使用shape
  2. Android访问Tomcat错误以及mp3player项目乱码问题解决
  3. Android画图之抗锯齿(转)
  4. 创建和使用library
  5. 如何编译运行Android系统自带桌面Launcher2源码
  6. Android(安卓)APK升级代码编写心得
  7. Android项目中编译 C的模块
  8. Android中出现 Error:In declare-styleable FontFamilyFont, una
  9. Android(安卓)通过DownloadManager实现自动更新的demo

随机推荐

  1. 详解如何通过Mysql的二进制日志恢复数据
  2. Linux下mysql5.6.33安装配置教程
  3. Mysql非安装版使用步骤及忘记密码解决方
  4. MySQl数据库必知必会sql语句(加强版)
  5. mysql 5.1版本修改密码及远程登录mysql数
  6. 在centos7下安装和部署java8和mysql
  7. 如何修改Xampp服务器上的mysql密码(图解)
  8. 阿里云安装mysql数据库出现2002错误解决
  9. CentOS 6.5 i386 安装MySQL 5.7.18详细教
  10. mysql批量删除大量数据