AndroidStudio最新打包jar和aar的方法

版权声明:尊重原创,转载请附本文链接。谢谢合作! https://blog.csdn.net/DeMonliuhui/article/details/82416948

环境

文章的运行环境为:
AndroidStudio版本:3.1.4
Gradle版本:3.1.4

前言

在日常开发中我们常常需要引用其他项目的代码。有如下几种方式:

  1. 通过gradle,maven等远程导入。
  2. 复制对应的Library到自己的Project下,直接导入Library。
  3. 用AndroidStudio打开代码,然后打包成jar或者arr,复制到项目的libs文件夹下,导入即可。

方法1适合开源项目,否则需要通过购买GitHub私有项目或者搭建私服来使用。
方法2虽然简单,但是如果多个Project多次使用则非常麻烦。
方法3则是打包一次,直接复制jar或arr就可多次使用。

今天就来简单介绍一些方法2和方法3,和在最新的AndroidStudio和Gradle下如何打包jar和arr。

PS:最新的AndroidStudio和Gradle下虽然打包aar变的简单,但是打包jar变得麻烦许多,生成的路径也变了,这里需要注意。

arr和jar的区别

  1. jar:仅打包了class文件和配置清单文件,其res等资源文件并没有打包。适合传统的Java或者没有资源文件的Android项目。
  2. arr:打包了所有的class、res等资源文件。适合Android项目。

导入Library

新建一个Library,复制,编辑所需代码。也可以通过Import Module的方式导入。
如果是直接复制的Library,则需要配置工程的settings.gradle,在include后添加对应的Library,如下:

include ':app', ':mylibrary'

如果没有文件夹上没有出现树状图的小标志,可以Build—>Rebuild Project。

导入如下图:
这里写图片描述

打包aar

直接看图简单了事。如下:
这里写图片描述

这里写图片描述

最新的Gradle可以直接implementation files(‘xxxxxx.aar’)导入aar,而非传统的compile(name: ‘xxxxx’, ext: ‘aar’),无需额外配置代码,非常的方便。

打包jar

复制如下代码到Library下的build.gradle中:

//根据Library名称生存jar包到build目录下
//可根据自己需求更改
task againMakeJar(type: Copy) {
    def name = project.name //Library名称
    delete 'libs/' + name + '.jar' //删除之前的旧jar包
    from('build/intermediates/packaged-classes/release/') //从这个目录下取出默认jar包
    into('libs/') //将jar包输出到指定目录下
    include('classes.jar')
    rename('classes.jar', name + '.jar') //自定义jar包的名字
}
againMakeJar.dependsOn(build)

注意:最新的jar默认生成路径是:build/intermediates/packaged-classes/release/,而非build/intermediates/bundles/release/

导入如下图:

这里写图片描述

复制生成的jar包到制定项目的libs目录下,然后右键选择Add as Lisbrary,即可成功导入。

参考

Android studio 将 Module 打包成 Jar 包
android studio library生成jar包和aar的方法总结

猜你喜欢

转载自blog.csdn.net/DeMonliuhui/article/details/82416948