本文着重讲解.aar的生成与引用,完全基础性概念,大神可以绕过。
.jar 与 .aar的区别
从名称上来讲,一个是java application resource;一个是android application resource;
那所有的区别从名字上即可体会到:
- .jar 中只包含class文件和清单文件
- .aar 中包含了class文件和其他所有资源文件,包括res中资源文件
比如你的lib库是一个自定义view封装,里面不仅有class文件并且包含了资源文件,那么此时你就需要将这个库以.aar的形式来提供给使用。
Android studio中如何生成.aar .jar
studio中以moudel来管理,新建一个moudel,选中android library
然后代码完成后,编译这个moudel即可生成.aar及.jar
你可以根据你的类库的作用,如果包含资源文件,就用aar.
Android studio中如何引用.aar .jar
引用 .jar
将*.jar拷贝到app中的lib下
-
更改build.gradle 配置文件
dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') }
在studio新版本中会自动生成,所有你只需直接拷贝.jar到lib目录下编译既可。
引用本地 .aar
将*.aar拷贝到app中的lib下
-
更改build.gradle 配置文件
repositories { flatDir { dirs 'libs' } } dependencies { compile(name: 'HouyiLib_v1.0.1', ext: 'aar') }
值得注意的是:如果aar中也引用了第三方的lib,那么打包后的aar中是没有把这些三方库加入到aar中的,这样就需要在app中除了引用.aar外还要引用其中需要的其他第三方库。