Android Studio依赖包aar使用全攻略!
2016-03-22 22:46
323 查看
如有不妥的地方欢迎Gradle大神批评指正。
今天包含以下几点:- aar 文件简介
- 生成方法
- 向工程中添加依赖的方法(即让Android Studio认出aar的方法)
- 调用方法
aar 文件简介
首先,讲讲aar:
相信大家在做项目的时候,都会用到一些依赖包,最常见的就是jar包(当然指的是在安卓开发过程中),其实还有一种包,扩展名为aar。 那么,这两种依赖包有什么区别呢,又有什么优缺点呢? 其实,二者的功能基本是一样的,只不过,在*.aar 的新特性中,有这样的特点: aar可以包含资源文件(也就是drawable啊、layout之类的),那么问题来了,为什么要把资源文件也放进来? 其实我个人理解,这个在做自定义控件的时候是非常方便的,在当前项目或者以后项目都可以复用。 假如使用了一些资源文件,那么这些资源文件又是相对固定的,那么封装成*.aar就有用了。 而代码文件编译后压缩在在classes.jar 中。 例如,我做了一个自定义标题栏,布局文件我想要做成水平的三段式,即: ImageView-TextView-ImageView,这个布局我就可以写在module中,封装成依赖包aar方便以后接着用。
生成方法:
要输出 aar 文件,必须将 Module 配置为 library,在 gradle 文件中如下:Moduled中的build.gradle文件的第一行参数:
①输出aar,即想生成aar就在这里把Mudule配置为library
apply plugin: 'com.android.library'
②生成apk
apply plugin: 'com.android.application'
比如对BuildType 为debug 的配置,输出为:[ModuleName]/build/outputs/aar/[ModuleName]-debug.aar。
注意:
如果是把普通的工程转化成依赖包的话,还需要删除:applicationId "com.***"
向工程中添加依赖的方法:
①.在当前需要添加依赖的项目中找到build.gradle(Module:app)我们找到buildTypes{…}这一块,在这段的下方另起一行,添加:
repositories { flatDir { dirs 'libs' //this way we can find the .aar file in libs folder } }
即告诉IDE,依赖是在libs目录下的~
然后在依赖(dependencies)中添加你的aar,例如我写了一个自定义控件,生成之后为
groupviewlayout-debug.aar,即可在其中加上:
compile(name: 'groupviewlayout-debug', ext: 'aar')
到此,需要更改的配置就完成了,只需再点击下右上角出现的sync Now即可更新Gradle配置啦!。
调用方法:
调用方法与jar文件一样,只需导入包名即可调用里面的函数或者控件之类的。例如,我之前测试的时候写了一个自定义标题栏mytitlebar.aar,
在module中的包名为:
com.example.kenjc.mytitlebar
添加依赖后,在当前项目中的布局添加控件:
<com.example.kenjc.mytitlebar.MyTitleBar android:layout_width="match_parent" android:layout_height="66dp" android:id="@+id/topbar" android:background="@color/colorWhite" custom:leftBackground="@mipmap/scissors_icon" custom:rightBackground="@drawable/right_button_selector" custom:titleText="xxx" custom:titleText_Color="#000" custom:titleText_Size="6sp" />
即可。
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories