异常记录-Gradle依赖掉坑之旅
前言
最近在项目中遇到了一个问题,死活拉不下来依赖,耗费了一整天,感觉自己真是菜的抠脚。
没想到今天脑子一清醒,刷刷的问题逐个击破了。
问题描述:
项目成员添加了新的依赖,然后我这边项目拉下来,build了n次,都以失败告终。
unable to resolve dependency for app@......
解决方案:
一、本地依赖jar包。
直接去maven/google/mavenCentral中把这个包下载下来,然后添加到本地jar目录中。
二、使用自己新建本地maven仓库。
1.下载maven。
下载地址为:http://maven.apache.org/download.cgi
2.配置环境变量。
Mac系统的环境变量,加载顺序为:
/etc/profile /etc/paths ~/.bash_profile ~/.bash_login ~/.profile ~/.bashrc
当然/etc/profile和/etc/paths是系统级别的,系统启动就会加载,后面几个是当前用户级的环境变量。后面3个按照从前往后的顺序读取,如果~/.bash_profile文件存在,则后面的几个文件就会被忽略不读了,如果~/.bash_profile文件不存在,才会以此类推读取后面的文件。
这里配置在/etc/profile中。
JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_241.jdk/Contents/Home"
export JAVA_HOME
CLASS_PATH="$JAVA_HOME/lib"
PATH=".$PATH:$JAVA_HOME/bin"
export ANDROID_HOME=/Users/fanggao/Library/Android/sdk
export A_NDK_ROOT=/Users/fanggao/Library/Android/sdk/android-ndk-r16b
GRADLE_HOME=/Users/fanggao/gradle/gradleUse
export GRADLE_HOME
export MAVEN_HOME=/Users/fanggao/apache-maven-3.6.3
export PATH=${PATH}:${GRADLE_HOME}/bin:${MAVEN_HOME}/bin:${A_NDK_ROOT}:${ANDROID_HOME}/platform-tools
~
配置好就可以使用了。
3.执行命令,下载maven库对应的文件。
mvn install:install-file -Dfile=jar包的路径 -DgroupId=gruopId中的内容 -DartifactId=actifactId的内容 -Dversion=version的内容 -Dpackaging=jar
例如: mvn install:install-file -Dfile=materialdatetimepicker-4.2.3.aar -DgroupId=com.wdullaer -DartifactId=materialdatetimepicker -Dversion=4.2.3 -Dpackaging=aar

这样,我们的包就下载好了。下载成功会显示成功路径。
/Users/fanggao/.m2/repository/com/wdullaer/materialdatetimepicker/4.2.3/materialdatetimepicker-4.2.3.pom
4.更改本地maven库地址。
找到maven路径中的setting文件,修改为我们刚刚的地址。
open -e apache-maven-3.6.3/conf/settings.xml

5.项目使用。
在项目根目录下的build.gradle文件中使用。

这样我们就可以正常添加依赖并使用了。

三、终极原因,依赖下载不下来,很有可能是网络设置问题。
进入.gradle文件,找到gradle.properties,注释掉代理,成功!
/Users/fanggao/.gradle/gradle.properties

原因是androidStudio的全局设置导致网络走的代理,所以一直访问不了库。
再设置studio的Http Proxy。

参考链接:
1.https://blog.csdn.net/qq_35427437/article/details/79835673
异常记录-Gradle依赖掉坑之旅的更多相关文章
- 异常记录-Dialog样式踩坑
好久没记录文档了,拖了老半个月,终于空下来时间,为了避免以后踩坑,必须记录记录. 背景: 为activity设置样式为弹窗activity 异常一: activity设置style后,布局不能够正常显 ...
- [Xamarin]我的Xamarin填坑之旅(一)
一想到明天是星期五,不对,是今天,心里就很激动,毕竟明天没课.激动之余,来写一篇博客,记录一下最近踏坑Xamarin开发校园助手APP的一些事儿.也许更像是一篇流水账. 在扯Xamarin之前,有必要 ...
- stm32填坑之旅 - stm32f103c8t6点亮板载贴片蓝色LED
转载请注明:https://www.cnblogs.com/rockyf/p/11691622.html 开篇 开篇一定要精彩,不然路人不理睬!下述是笔者作为arm小白的填坑之旅 没错,这个之前一直从 ...
- Docker 从入门到掉坑
Docker 介绍 简单的对docker进行介绍,可以把它理解为一个应用程序执行的容器.但是docker本身和虚拟机还是有较为明显的出入的.我大致归纳了一下,可以总结为以下几点: docker自身也有 ...
- Docker从入门到掉坑(二):基于Docker构建SpringBoot微服务
本篇为Docker从入门到掉坑第二篇:基于Docker构建SpringBoot微服务,没有看过上一篇的最好读过 Docker 从入门到掉坑 之后,阅读本篇. 在之前的文章里面介绍了如何基于docker ...
- Docker从入门到掉坑(四):上手k8s避坑指南
在之前的几篇文章中,主要还是讲解了关于简单的docker容器该如何进行管理和操作,在接下来的这篇文章开始,我们将开始进入对于k8s模块的学习 不熟悉的可以先回顾之前的章节,Docker教程系列文章将归 ...
- EasyTrader踩坑之旅总结
easytrader是用python写的可以调用主要券商完成自动化炒股的一个软件 ,但我用的是同花顺,在研究过程中,发现同花顺暂时调不通.后来搜索发现thstrade的源码作者说是easytrad ...
- React Native填坑之旅--Flow篇(番外)
flow不是React Native必会的技能,但是作为正式的产品开发优势很有必要掌握的技能之一.所以,算是RN填坑之旅系列的番外篇. Flow是一个静态的检查类型检查工具,设计之初的目的就是为了可以 ...
- webpack入坑之旅(六)配合vue-router实现SPA
这是一系列文章,此系列所有的练习都存在了我的github仓库中vue-webpack,在本人有了新的理解与认识之后,会对文章有不定时的更正与更新.下面是目前完成的列表: webpack入坑之旅(一)不 ...
随机推荐
- Django 中实现连接多个数据库并实现读写分离
读写分离 其基本原理就是让主数据库处理事务性增,改,删操作(INSERT,UPDATE,DELETE)操作,而从数据库处理SELECT查询操作,数据库复制被用来把事物性操作导致的变更同步到其他从数据库 ...
- 如何使用懒加载 - umi
.umirc.js文件 plugins: [ dynamicImport: true,
- docker启动服务---------------rabbitmq
1.进入docker hub镜像仓库地址:https://hub.docker.com/ 2.搜索rabbitMq,进入官方的镜像,可以看到以下几种类型的镜像:我们选择带有"mangemen ...
- 运行shell文件时提示/bin/bash^M: bad interpreter: 没有那个文件
查看脚本文件是dos格式还是unix格式的几种办法.(1)cat -A filename 从显示结果可以判断,dos格式的文件行尾为^M$,unix格式的文件行尾为$:(2)od -t x1 file ...
- 第二十三章 Firewalld的防火墙
一.防火墙基本概述 在CentOS7系统中集成了多款防火墙管理工具,默认启用的是firewalld(动态防火墙管理器)防火墙管理工具,Firewalld支持CLI(命令行)以及GUI(图形)的两种管理 ...
- Codeforces Round #427 (Div. 2) E. The penguin's game (交互题,二进制分组)
E. The penguin's game time limit per test: 1 second memory limit per test: 256 megabytes input: stan ...
- typora的快捷键文档
一:菜单栏 文件:alt+F 编辑:alt+E 段落:alt+P 格式:alt+O 视图:alt+V 主题:alt+T 帮助:alt+H 二:文件 新建:Ctrl+N 新建窗口:Ctrl+Shift+ ...
- Java jvm 类加载 反射
Java 底层 jvm,类加载,反射 Java语言是跨平台语言,一段java代码,经过编译成class文件后,能够在不同系统的服务器上运行:因为java语言中有虚拟机jvm,才有了跨平台,java为了 ...
- BlockCanary界面卡顿检测
添加依赖: implementation 'com.github.markzhai:blockcanary-android:1.5.0' 运行后会同时安装检测工具,主要检测UI线程运行卡顿现象 pub ...
- java实现单链表、栈、队列三种数据结构
一.单链表 1.在我们数据结构中,单链表非常重要.它里面的数据元素是以结点为单位,每个结点是由数据元素的数据和下一个结点的地址组成,在java集合框架里面 LinkedList.HashMap(数组加 ...