AndroidStudio的两种依赖方式:
- 库依赖(library)
-
模块依赖(module)
其实模块就是源代码模块,库依赖就打包好的jar、aar文件,并且每种又可分为内部和外部,具体细分如下:
A 、内部库:
放于/Project/module/libs/下的jar、aar文件,依赖配置是在gradle中的dependencies标签下加入:
compile fileTree(include: ['*.jar'], dir: 'libs') //已对libs下的所有.jar文件的引入
//.aar文件的引入方式
compile files('libs/FileSeek-release.aar')
//或这样引入
repositories { //指明库的位置
flatDir {
dirs 'libs'
}
}
compile(name: 'FileSeek-release', ext: 'aar')
B、外部库:
这个是gradle的标准依赖方式,导入、管理、升级等都非常便捷,默认远程中心仓库为jcenter,依赖配置也是在dependencies标签下加入:
compile 'com.google.code.gson:gson:2.4'
C、内部模块:
一个Project下面可以包括很多Module,这些module可以是相互完全独立的,也可以是被依赖的。
apply plugin: 'com.android.library' //首先,在该module的build.gradle文件中,把当前模块声明为Library
include ':app',':module-name' // 然后,在顶层工程目录下的settings.gradle中include模块名
compile project(path: ':module-name') //最后,在dependencies下设置
D、外部模块(我YY的):
AndroidStudio组织结构顶层是一个Project,如果这么说,理解起来,其实在同一个项目里,不应该有与project同级的模块存在,但实际并不绝对
例如工程A、B分别各自包含两个module,其中一个模块另一个是library模块,也即上面提到的C内部模块。此时,A工程是可以依赖B工程中的library模块的。使用方法是在settings.gradle中include 后面加上模块名,这里的模块名需要自己定义:
include ':app', ':module-name'
include ':external-module-name'
project(':external-module-name').projectDir = new File(rootDir,'../../Example/sdkexample') //指定一下这个模块的地址
参考文献:https://blog.csdn.net/sinat_29384657/article/details/79298262