本文会带来什么
- aar 专门在说下,公司项目遇到,进行小调研总结了下
前言
随着项目越来越多,代码的复用就变得异常重要,这时候就要进行模块化编程,就是把一些通用的组件或者类库做成单独的模块,其他项目直接进行引用就好。
Android常用的方式有:
- jar
- Android Library
- aar
下面只说 aar
what?
是一个android库项目(Android Library Project)的二进制包
何为aar?大家都知道jar文件把,如果你有一个Android Library项目,可以很容易的导出jar文件,然后在其他项目中很方便的引用,aar和jar类似,区别就是一个Android Library项目导出的jar文件不能包含资源文件,比如一些drawable文件、xml资源文件之类的,所以这就有很大的限制,在gradle之前我们要引用带资源文件的Android Library必须要把整个library导入进来进行引用,但是有了gradle之后,Android Library项目可以直接导出成aar,然后其他项目像引用jar的方式直接方便的引用。
/build/outputs/aar/libraryname.aar
修改aar 后缀为 zip 后可查看内容
—aapt/
—aidl/
—AndroidManifest.xml
—classes.jar
—jni/
—libs/
—R.txt
—res/
why
- 避免修改
- 清爽
- 就是要用
how
1. 建立工程
2. 建立依赖工程工程
3. Build-rebuild Library
4. aar 导入(如果提示冲突可以去本地删除)
引申1 如何导出jar
*.jar:库/build/intermediates/bundles/debug(release)/classes.jar
引申1 如何导入Android Library
直接使用即可
引申3 上传 jcenter
1 | compile 'com.android.support:appcompat-v7:23.4.0' |