使用Android Studio制作aar和jar文件
有什么不明白的地方,扫描右方二维码加我微信交流。
先看看jar包与aar包区别:
- jar文件就是 Java Archive File,只包含class文件;
- aar,即就是Android Archive,包含jar包,包含资源文件;
- aar = jar包 + 资源文件。
选择jar包还是aar包根据视情况而定。
制作aar
为了方便制作与测试,我们把aar项目放在一个Android工程里面,制作步骤如下:
- 创建一个Android工程,用于测试我们的新aar包;
- 在Android工程里创建一个Module;
- 编写代码;
- 开启混淆并编写规则(如果想要保留方法名,类名,一定要写);
- 打包aar;
- 将aar包放在Android工程里,在gradle文件里引入,运行测试(或者自己进行单元测试)。
创建Android工程
在Android工程里创建Module
编写代码
开启混淆并编写混淆规则
注意:proguard-rules.pro给打包aar时使用(即给Module工程使用),consumer-rules.pro给打包后的aar使用(会打入aar包中,给Android工程使用)。
打包aar
双击命令,打出release版aar
测试
可以编写单元测试,也可以进行真机测试。下面介绍真机测试。
把打包好的aar文件放入app下的libs目录,在app下的的gradle文件中添加如下代码,将libs目录包含进去,意思是添加一个本地仓库,并把libs目录作为仓库的地址:
repositories { flatDir( dirs: 'libs' ) }
在app的gradle中引入aar文件,然后在app的MainActivity中编写测试代码,在真机上运行测试。
制作jar
aar包都制作出来了,jar包当然就更简单了,在gradle里添加如下代码:
//Copy类型 task makeJar(type: Copy) { //删除存在的 delete 'build/libs/test.jar' //设置拷贝的文件 // from('build/intermediates/bundles/release/') from('build/intermediates/aar_main_jar/release/') //打进jar包后的文件目录 into('build/libs/') //将classes.jar放入build/libs/目录下 //include ,exclude参数来设置过滤 //(我们只关心classes.jar这个文件) include('classes.jar') //重命名 rename ('classes.jar', 'test.jar') } makeJar.dependsOn(build) //在终端执行生成JAR包
添加好以上代码后,在终端执行gradlew makeJar
或者在如下图中双击makeJar命令,即可直接打出jar包。