在比较大的 Android 项目的开发中,我们经常会遇到工程、jar 包等等之间相互引用的方式。一般我们通过在 gradle 文件中配置依赖来解决,但是如果通过include的方式来引入第三方库的时候,第一次编译会特别慢,所以Android在V7版本之后为我们添加了一种添加aar的方案,其实说白了就是jar的另一种形式,至于怎么写自己的jar(其实百度,google一大堆,实践下就好了),请点击封装自己的jar文件。
今天说说怎么打aar包,以及在项目中引用。
1,新建一个project,在project中新建一个module,选择Android jar,然后下一步即可。然后运行,会在你工程目录***\build\outputs\aar看到你的aar。
2,引用aar:将aar放在你所需要引用工程的libs文件夹中
第一种方式比较简单,打开 Project Structure
,添加一个新 Module,然后选择 Import *.JAR or *.AAR Package
的方式导入(也可以使用快捷键ctrl+shift+alt+s):
接着可以在 gradle 中配置依赖了,其他 Module 可以引用这个 Module 了,依赖方式使用 compile project
的方式即可。
但是这种方式有一个缺点,被依赖的 aar 无法 看到资源文件内容以及目录层级等。
第二种方式导入(build.gradle方式)
题外话(gradle引入第三方文件脚步配置):
compile fileTree(dir: 'xxx', include: ['*.jar', "*.xxx"])
:将某个目录下所有符合扩展名的文件作为依赖;compile 'com.xx.xx:ProjectName:Version':配置
Maven` 库作为依赖;在 Maven 库中心 可以搜索自己想用的库进行依赖;compile project(':AnotherModule')
:配置另一个 Module 作为本 Module 的依赖,被依赖的 Module 必须被导入到当前工程中;compile files('xxx.jar')
:配置某个 jar 包作为依赖。
gradle 其实还有另一种依赖可以引用 aar:
compile(name: 'xxx', ext: 'aar')
。
然后在 gradle 配置文件中把 libs 目录加入依赖。
接着在 gradle 的依赖配置中加入 compile(name: 'xxx', ext: 'aar')
这一句,依赖即可关联完毕。构建一下工程,在 Module 的build/intermediates/exploded-aar
目录下,可以看到有一些临时文件生成。