Android发布AAR包

最近有需求要发布一套SDK,这套SDK有几个要求:

  1. 带有Activity和Fragment;
  2. 有网络请求模块;
  3. 有依赖jar包;

依照上面的要求我最先想到的就是AAR包了,因为以下几个原因:

  1. aar包可以包含资源文件和布局文件,这样就可以在SDK中包含Activity了;
  2. aar包会包含libs目录下的jar包;

1、怎样打包成AAR?

打包aar其实很简单,只需要我们创建一个Library工程就可以了。


创建Library的Module

这个时候编译Library就会在outputs目录下生成一个aar文件夹,里面包含aar文件。


AAR文件

aar也是可以混淆的,方式和apk一样。


混淆

2、怎样引用AAR?

引用aar可以有两种方式,一种是本地引用,一种是远端库引用,目前我只用到了本地引用,远端的以后会补上。首先在bulid.gradle文件中定义一个本地库。


这里写图片描述

然后在依赖引用的地方添加依赖。


依赖本地仓库
compile(name:'mylibrary-debug', ext:'aar')

name:aar包的名字;ext:扩展名;

3、aar包含jar

打包aar包的时候会自动将lib目录下的jar打包进aar包中。


解压后libs目录包含jar文件

4、多个aar合并

因为分层的原因,有多个library工程,这样就会有多个aar,发布起来很麻烦,尝试google了半天,发现目前都是一个办法,android-fat-aar,一个gradle脚本,github地址是:https://github.com/adwiv/android-fat-aar 。不过我发现他支持gradle2.2.X之前的版本,新的3.X版本并不能执行。这块还在继续摸索,有知道办法的大神请指教一下~~~~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容