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

原创 2016年06月01日 23:21:54

博客源址http://stormzhang.com/android/2015/03/01/android-reference-local-aar/

随着项目越来越多,代码的复用就变得异常重要,这时候就要进行模块化编程,就是把一些通用的组件或者类库做成单独的模块,其他项目直接进行引用就好。针对Android开发最常见的就是Android Library,在Gradle出现之前引用Android Library的方式也很繁琐,但是有了Gradle一切变得非常简单方便。

aar

何为aar?大家都知道jar文件把,如果你有一个Android Library项目,可以很容易的导出jar文件,然后在其他项目中很方便的引用,aar和jar类似,区别就是一个Android Library项目导出的jar文件不能包含资源文件,比如一些drawable文件、xml资源文件之类的,所以这就有很大的限制,在gradle之前我们要引用带资源文件的Android Library必须要把整个library导入进来进行引用,但是有了gradle之后,Android Library项目可以直接导出成aar,然后其他项目像引用jar的方式直接方便的引用。

导出aar

首先Android Library项目的gradle脚本只需要在开头声明

apply plugin: 'com.android.library'

之后就和导出apk文件一样的方法,执行 ./gradlew assembleRelease,然后就可以在 build/outputs/aar 文件夹里生成aar文件

引用本地的aar

生成aar之后下一步就是如何引用本地的aar文件?本地的aar文件并没有像引用jar文件这么简单,官方也没有提供解决方案。好在国外的一些前辈总结出了方法,下面就以test.aar文件为例来详述下方法

1、把aar文件放在一个文件目录内,比如就放在{project name}/app/libs目录内

2、在app的build.gradle文件添加如下内容

repositories {
    flatDir {
        dirs 'libs' //this way we can find the .aar file in libs folder
    }
}

3、之后在app的中build.gradle添加一句gradle依赖,便方便的引用了该library

dependencies {
    compile(name:'test', ext:'aar')
}

以上方法亲测有效。

总结

当然通过gradle最普遍的方法是把aar上传到mavenCentral或者jcenter,引用的话更方便,但是对于一些公司内部library不想公开,而传统的引用library方式又太繁琐,引用本地的aar文件这种方式会非常方便合适,之后通用的模块只需要做成library,不管更新还是修改只需要打包成aar,然后供其他项目使用就好了,对Android开发来说这是提升代码复用非常有效的一个手段。

版权声明:本文为博主随手笔记,欢迎评论和转载。

安装SVN后,配置Android Studio并Checkout项目到本地

一、下载SVN,在Android Studio配置SVN   此处已完成设置svn.exe 二、从SVN导出项目到本地        ...
  • jonbb
  • jonbb
  • 2017年05月10日 15:16
  • 846

什么是aar包,和androidstudio 如何添加arr包依赖

arr包其实就是带res的jar包,假如你的项目依赖一个library,在这个library的输出文件里,会有一个aar包,前提是你运行过你的项目, 举例说明: 此时的library-...
  • u012892561
  • u012892561
  • 2017年05月02日 21:15
  • 1060

Android Studio 打包及引用 aar

简要介绍了生成 aar 以及其他工程引用 aar 文件的一些方法。
  • ZhangYafengCPP
  • ZhangYafengCPP
  • 2015年05月18日 11:43
  • 14383

Android Studio 打包及引用 aar

Android Studio 打包及引用 aar 1、 简述 在比较大的 Android 项目的开发中,我们经常会遇到工程、jar 包等等之间相互引用的方式。一般我们通过在 gradle 文件中配...
  • zhangfei2018
  • zhangfei2018
  • 2015年10月15日 18:35
  • 1091

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

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

Android项目中引用本地aar文件的方法

这篇文章主要介绍了Android项目中引用本地aar文件的方法,本文讲解了什么是aar文件、导出aar文件方法、引用本地的aar文件方法等内容,需要的朋友可以参考下 随着项目越来...
  • Qiqihar
  • Qiqihar
  • 2016年01月29日 10:15
  • 1897

Android aar打包及引用

aar包是android studio下打包android工程中src、res、lib后生成的aar文件,aar包导入其他android studio 工程后,其他工程可以方便引用源码和资源文件。An...
  • HJLAllen1
  • HJLAllen1
  • 2016年07月15日 18:30
  • 365

android studio 生成aar包并在其他工程引用 (导入)aar包

  • 2016年06月16日 18:08
  • 3.21MB
  • 下载

andriod 引用aar文件注意事项

andriod开发真是越来越方便了,以前调用第三方工程很麻烦,还要考虑将R文件转换,还要考虑将res包的文件搬移到自己项目中。现在只需要将第三方工程打成aar文件包,就可以在andriod studi...
  • dirful
  • dirful
  • 2016年10月20日 14:20
  • 5231

Android.mk引用aar文件

正文: 最近遇到一个问题,在更改Android的系统应用时,要引用一个aar文件。之前引用的主要是jar包,而aar文件包含Android的资源文件,如:布局、样式、图片等,如果按照源码中jar的引...
  • xiaowan0404
  • xiaowan0404
  • 2016年08月11日 00:43
  • 6367
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android模块化编程之引用本地的aar
举报原因:
原因补充:

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