Android Studio模块化编程实践之aar

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,Studio使用,android,android,studio,模块化)