异常记录-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入坑之旅(一)不 ...
随机推荐
- java9系列第二篇-资源自动关闭的语法增强
我计划在后续的一段时间内,写一系列关于java 9的文章,虽然java 9 不像Java 8或者Java 11那样的核心java版本,但是还是有很多的特性值得关注.期待您能关注我,我将把java 9 ...
- 题解:[COCI2011-2012#5] BLOKOVI
题解:[COCI2011-2012#5] BLOKOVI Description PDF : https://hsin.hr/coci/archive/2011_2012/contest5_tasks ...
- Spark学习总结
RDD及其特点 1.RDD是Spark的核心数据模型,但是个抽象类,全称为Resillient Distributed Dataset,即弹性分布式数据集. 2.RDD在抽象上来说是一种元素集合,包含 ...
- vue任意关系组件通信与跨组件监听状态 vue-communication
大家好!我是木瓜太香! 众所周知,组件式开发方式给我们带来了方便,不过也引入了新的问题,组件之间的数据就像被一道无形的墙隔开,如果我们希望临时让两个组件直接通信,vuex 太巨,而 $emit 又不好 ...
- doment ready事件和load事件的区别及实现
从2017年9月至今工作中大部分使用react,前端渲染的一些基础性知识记忆不是很深刻了.面试**公司的时候,碰到"document ready和load的区别,以及document rea ...
- GoogleHacking基本语法使用
查看网络后台 intitle:admin 搜索url中的关键字:asp?id= inurl:asp?id=
- vue知识点14
1. 父组件给子组件传值 1)<组件 属性="传改子组件的值"></组件> v-bind:属性="识别数据类型和变量" ...
- nginx负载均衡常见问题配置信息
nginx为后端web服务器(apache,nginx,tomcat,weblogic)等做反向代理 几台后端web服务器需要考虑文件共享,数据库共享,session共享问题.文件共享可以使用nfs, ...
- django配置跨域并开发测试接口
1.创建一个测试项目 1.1 创建项目和APP django-admin startproject BookManage # 创建项目 python manage.py startapp books ...
- ArrayList扩容机制
一.先从 ArrayList 的构造函数说起 ArrayList有三种方式来初始化,构造方法源码如下: 1 /** 2 * 默认初始容量大小 3 */ 4 private static final i ...