在as里加入第三方库时,编译出错:
对比了供应商给的sdk demo和自己的项目,没找到差别。
百度到http://www.91r.net/ask/32581327.html
于是在 respositories标签里加了两行:
mavenCentral()
jcenter()
再次编译,OK。
解释:
compile("com.xxx.xx") 需要从远程lib库里去查找,所以要在仓库respositories里去指定lib库。
以下是respositories的详细介绍:
转自:http://www.bubuko.com/infodetail-841573.html
首先,Repository 是什么?Repository 是 文件的集合,这些文件,通过group、name和version 组织起来。在使用上,主要体现为jar 和 xml文件
Gradle 通过这些Repository 找到外部依赖(external dependencies.)
Gradle 并不默认指定任何仓库。它支持很多中仓库,如maven、ivy,通过文件访问或者通过HTTP 访问。下面举例说明:
1.使用本地maven 仓库:
repositories { mavenCentral() }
2.使用远程maven 仓库:
repositories { maven { url "http://repo.mycompany.com/maven2" } }
3.使用本地的ivy 仓库:
repositories { ivy { // URL can refer to a local directory url "../local-repo" } }
4.使用远程的ivy 仓库:
repositories { ivy { url "http://repo.mycompany.com/repo" } }
一个工程可以使用多个仓库。那么问题来了,怎么寻找dependency呢?
Gradle是这么做的:
按照你在文件中(build.gradle)仓库的顺序寻找所需依赖(如jar文件),如果在某个仓库中找到了,那么将不再其它仓库中寻找。