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解决方案

前言前段时间,我在实现gradle多模块构建遇到一个问题,以前我们基本上是以jar包形式让开发者集成到工程中使用,但自从Android Studio中有了多module的概念,而我们的SDK也是分了多...
  • wwj_748
  • wwj_748
  • 2016年11月19日 16:14
  • 8183

ANDROID STUDIO 生成AAR和引用AAR

以android studio 2.0正式版为例1.aar包是Android studio下打包android工程中src、res、lib后生成的aar文件,aar包导入其他android studi...
  • u013474104
  • u013474104
  • 2016年10月09日 15:35
  • 644

android studio生成aar包并在其他工程引用aar包

1.aar包是android studio下打包android工程中src、res、lib后生成的aar文件,aar包导入其他android studio 工程后,其他工程可以方便引用源码和资源文件 ...
  • getchance
  • getchance
  • 2015年08月03日 16:17
  • 95998

Android Studio导入aar文件的方法

最近想在独立的工程里使用rosjava的android扩展库,但该库构建后输出aar文件,所以我按照这篇文章尝试导入aar文件,但失败了,”\build\intermediates\exploded-...
  • happen23
  • happen23
  • 2016年05月24日 16:09
  • 2709

Android Studio 如何引用aar包

在Android Studio 项目里面引入xxx.aar包,主要有以下几个步骤: 将目标aar文件,例如lyx-library-1.0.3.aar文件,复制粘贴在工程的app/lib/目录下。 在a...
  • luoyingxing
  • luoyingxing
  • 2017年10月26日 14:17
  • 200

Android Studio依赖aar

implementation fileTree(include: ['*.jar','*.aar'], dir: 'libs')
  • qq_26413249
  • qq_26413249
  • 2017年09月15日 11:58
  • 326

Android studio2.3导入aar包的正确方式

需求因为项目用到了Facebook登录,访问Facebook的个人相册需要本地实现Photo picker功能。好在Github上有现成的PhotoPicker库(https://github.com...
  • u014449046
  • u014449046
  • 2017年06月03日 16:56
  • 1710

android studio中使用 aar 和gradle 的配置

最近再帮朋友做一个app,其中用到了很多第三方的module,这样造成项目很大,很冗余,于是乎想把其转成jar来引用。 jar 是我们都熟悉的,全名为java Archive  而 aar 的全名为 ...
  • u011409980
  • u011409980
  • 2017年03月07日 22:29
  • 465

android studio aar 添加依赖

废话不多说,直接上例子。 这里以添加rxandroid 这个aar为例说明android studio添加aar的步骤。 在上图的build.gradle中添加以下代码 dependen...
  • jiang243799432
  • jiang243799432
  • 2016年10月24日 16:11
  • 412

【Android死丢丢】如何在AndroidStudio项目中导入aar包并使用

导入一个.arr包: 1 点击【File>New>New Module】 2 选择 【Import .JAR/.AAR Package,点击【Next】 3 输入.arr文件所在路径并点击【finis...
  • R3lish
  • R3lish
  • 2016年10月11日 17:27
  • 2658
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android Studio模块化编程实践之aar
举报原因:
原因补充:

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