AndroidStudio Could not find XXXJar Searched in the following Locations错误解决

Android Studio 自带Jcenter 指向的URL错误的坑

这个惨案的起因是我需要导入一个jar包,不得不说,大概是本人太菜,所以在AndroidStudio中的导包总是很愚蠢,这就是我导入的包,这里点击OK,然后开始sync同步然后build工程。
AndroidStudio Could not find XXXJar Searched in the following Locations错误解决_第1张图片
然后嘛,就出了问题,而且并不是什么连不上网,连不上服务器的问题,到最后我发现错误的原因真是蠢到令人怀疑这个东西存在的意义是什么。

错误异常信息:

build时报错信息如下:

Could not find json-lib.jar (net.sf.json-lib:json-lib:2.4).
Searched in the following locations:
https://jcenter.bintray.com/net/sf/json-lib/json-lib/2.4/json-lib-2.4.jar

然后心想不对啊,可以访问但是为什么找不到这个库呢,真的是奇了怪了,
遂手动在浏览器上链接这个URL,页面给出的错误信息是:
AndroidStudio Could not find XXXJar Searched in the following Locations错误解决_第2张图片
这是为什么呢!
遂手动进jcenter的库里去找这个包
AndroidStudio Could not find XXXJar Searched in the following Locations错误解决_第3张图片

可以看到库里是有这个文件的,但是就是get不到这个jar包,然后我们对比之后发现了

正确的仓库地址url:
https://jcenter.bintray.com/net/sf/json-lib/json-lib/2.4/
错误的仓库地址url:
https://jcenter.bintray.com/net/sf/json-lib/json-lib/2.4/json-lib-2.4.jar

噫,奇怪了,前面的一系列子目录都没有错啊,那问题就只能出现在最后jar包的文件名上了,一看果不其然,仓库中存在的jar包的名字叫做"json-lib-2.4-JDK15.jar",而我们那个错误的自动生成的url给出的文件名是"json-lib-2.4.jar"真是令人脑壳痛。

通过看AndroidStudio的gradle.build文件,可以看到这个包是通过这条语句直接添加的
AndroidStudio Could not find XXXJar Searched in the following Locations错误解决_第4张图片
然后关于这个定位符中 **. 和 :这两个符号,我搞了半天终于明白这个是什么意思。
点号和冒号都表示下级目录的意思,但是从 第一个冒号开始,冒号后面的字符串将作为最后jar包的名字中的一个串,出现第二个冒号之后,第一个冒号后的串与第二个冒号中的串以
"-"**拼接,直到jar包所在的目录下,所以这里这个url的问题就是缺少了JDK15这个后缀,所以我们将dependencies中的内容更新为AndroidStudio Could not find XXXJar Searched in the following Locations错误解决_第5张图片

就一切正常了!
再build,一路绿灯!
心累!

你可能感兴趣的:(Android开发)