分享

Android Studio依赖包aar使用全攻略!

 Dragon_chen 2017-05-09

如有不妥的地方欢迎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'
  • 1

②生成apk

apply plugin: 'com.android.application'
  • 1

比如对BuildType 为debug 的配置,输出为:[ModuleName]/build/outputs/aar/[ModuleName]-debug.aar。

注意:

如果是把普通的工程转化成依赖包的话,还需要删除:

applicationId "com.***"
  • 1

向工程中添加依赖的方法:

①.在当前需要添加依赖的项目中找到build.gradle(Module:app)
我们找到buildTypes{…}这一块,在这段的下方另起一行,添加:

repositories {
    flatDir {
        dirs 'libs' //this way we can find the .aar file in libs folder
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5

就在这里啦
即告诉IDE,依赖是在libs目录下的~
然后在依赖(dependencies)中添加你的aar,例如我写了一个自定义控件,生成之后为
groupviewlayout-debug.aar,即可在其中加上:

compile(name: 'groupviewlayout-debug', ext: 'aar')
  • 1

到此,需要更改的配置就完成了,只需再点击下右上角出现的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" />
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

即可。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多