Android Studio模块化编程实践之aar

原创 2015年11月18日 16:49:09

aar介绍

我们都知道在java开发中,我们的library都是使用jar这种形式的,使用Eclipse开发的同学对这个应该会非常熟悉。J2EE中开发中的很多框架都是使用jar包的形式导入的,比如SSH等这样的开源框架等等。
在java世界里面,jar包中所包含的一般都是逻辑性的处理,不涉及界面上的一些开发,换句话说就是不包括资源文件。相对于J2EE开发而言,Android开发中有很多资源文件,比如图片,xml布局,style等文件,这些文件没有办法在jar包中进行使用。
现在,Android Studio帮我们解决了这个模块化开发的拦路虎,aar可以看做是一种更加高级的jar,它可以包含资源文件以及我们打包出来的jar文件。

导出aar

aar文件的目录在我们library目录下的output目录下。具体的目录如下:

library\build\outputs\aar

我们可以在这个目录下找到两个aar文件,一般来说,release版本是我们需要的。

导出aar文件的命令比较简单,找到项目所在的位置,对项目进行编译操作,命令如下:

gradlew assemblerelease

在命令行执行了如上的命令之后,在上面提示的目录当中去寻找我们需要的aar文件即可。

配置library

知道了aar文件的作用以及它在的位置,如何生成我们需要的aar文件呢?
首先要注意,导出模块化的library,我们需要将工程设置为library模式,修改library的build.gradle文件信息,如下:

apply plugin: 'com.android.library'

这句话说明这个工程是library模式的,也是就说这个library会生成aar文件。
对于很多模块来说,如果是需要提供给外部人员使用的,往往会根据模块的性质,进行一些混淆的操作,代码设置如下:

buildTypes {
    release {
        // 是否混淆
        minifyEnabled true
        //Zipalign优化
        zipAlignEnabled true
        // 移除无用的resource文件
        shrinkResources true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}

使用aar

使用aar文件的方式非常简单,与jar基本一致,稍微多了一点设置的东西,步骤如下:
目前,我们UPS的SDK仅仅支持使用 Android Studio 工具的导入。导入的方式如下:

  1. 拷贝aar文件到libs目录
  2. 修改项目的 build.gradle 文件,代码如下:
repositories {
    flatDir {
        dirs 'libs'
    }
}
dependencies {
    compile(name:'library-release', ext:'aar')
}

至此,我们的aar模块化已经介绍完毕了。
有部分同学以为,aar文件也需要配置权限和模块,实际上并不需要,只需要在library中的manifest文件注册好模块就行啦,Android Studio会帮助我们添加需要的组件。

哇,好厉害的感觉,赶紧试试看吧!

相关文章推荐

Android开发,关于aar你应该知道的

转载自:http://alphayang.community/2015/10/17/all-about-aar/ 背景 在软件工程中,分治是最基本的设计原理,就如同现实中的砖、瓦、...

Android —— SDK更新及ADT离线安装

android开发第一步:环境搭建,俗话说万事开头难,这一步可能会难倒很多人,android开发依赖的SDK,由Google提供,dang与Google不和,在国内想直接使用Google的服务,有点难...

Android软件下载及环境配置(SDK无需代理翻墙,离线更新)

本人初学安卓,听闻现今用AS比较多,遂上网搜索安装地址、方法,以及SDK、JDK的安装配置,现记录自己操作的步骤如下。主要是在SDK的更新那儿卡住了= =,原因应该都懂,试过用代理(现在不灵了。。翻墙...

Android模块化编程之引用本地的aar

转自:http://stormzhang.com/android/2015/03/01/android-reference-local-aar/ 随着项目越来越多,代码的复用就变得异常重要,这时...

Android模块化编程之引用本地的aar

博客源址:http://stormzhang.com/android/2015/03/01/android-reference-local-aar/ 随着项目越来越多,代码的复用就变得异常重要,这...

Android 模块化编程之引用本地的 aar

随着项目越来越多,代码的复用就变得异常重要,这时候就要进行模块化编程,就是把一些通用的组件或者类库做成单独的模块,其他项目直接进行引用就好。针对Android开发最常见的就是Android Libra...
  • sy2zczy
  • sy2zczy
  • 2015年06月03日 10:51
  • 319

Android模块化编程之引用本地的aar

来源 http://stormzhang.com/android/2015/03/01/android-reference-local-aar/ 随着项目越来越多,代码的复用就变得异常重要,这时...

Android开发 模块化编程之引用本地的aar

随着项目越来越多,代码的复用就变得异常重要,这时候就要进行模块化编程,就是把一些通用的组件或者类库做成单独的模块,其他项目直接进行引用就好。针对Android开发最常见的就是Android Libra...
  • xhf_123
  • xhf_123
  • 2015年11月24日 16:53
  • 228

Android模块化分层化之: maven 库中上传的 aar 包 获取 BuildConfig 相关常量值

最近在做项目分层化的一些工作,具体思路是将原有项目一些基础服务模块和设备服务模块抽离出来,上传到本地的 Maven 服务器,然后再通过在主项目中的 build.gradle 文件中通过 compile...

Android模块化开发中统计aar库的代码覆盖率

现在android 开发都喜欢用模块化的方式,然后以aar文件的方式导入到主项目,但是这对于统计代码覆盖率就有点麻烦了,因为统计时候都忽略这些第三方库,那么我们如何将这些aar文件纳入到代码覆盖率的统...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android Studio模块化编程实践之aar
举报原因:
原因补充:

(最多只允许输入30个字)