Android Studio将lib项目打包成jar和aar

1. 打包成jar

1 新建一个lib项目,这个过程都知道,不做介绍
2 在lib项目下新建一个与build.gradle同级的gradle文件,名字随便起。比如 toJar.gradle
3 在toJar.gradle中创建任务列表

def jarName = "loadingAni1.0"
//Copy类型
task makeJar(type: Copy) {
 //删除存在的
   delete 'build/libs/' + jarName + ".jar"
   //设置拷贝的文件
   from("build/intermediates/aar_main_jar/release")
   //打进jar包后的文件目录,将classes.jar放入build/libs/目录下
   into('build/libs/')
   //要打包的jar文件
   include('classes.jar')
   //重命名
   rename('classes.jar', jarName + ".jar")
}
makeJar.dependsOn(build)

4 执行markJar任务(在Terminal中执行 gradlew makeJar
或者在面板右侧的gradle中找到lib项目-tasks-other-makeJar,双击执行)

2. 引用jar

经过上面几个步骤之后,会在lib项目的build-libs目录下生成一个loadingAni1.0的jar包,将这个jar包拷贝到要引用的项目的libs目录下,这个时候如果你的项目的gradle中有“implementation fileTree(dir: ‘libs’, include: [’*.jar’])”的字样,就可以直接引用jar包中的内容了,如果没有,要么需要添加这段代码,要么在jar包上右键执行Add as library将jar包添加到gradle中。

上面介绍了生成jar包以及引用jar包的方式,接下来介绍一个aar包的生成和引用方式。

3. 打包成aar

aar包的生成相对简单一些主要有两步

1 创建lib项目
2 右侧的grdle面板中找到新建的lib项目,执行build任务

4. 引用aar

执行完成上面两个步骤之后会在lib项目的build-outputs-aar目录下生成release和debug两个aar。将这两个aar中的任何一个拷贝到要使用的项目下的libs目录下,然后稍微配置一下gradle

    repositories {
        flatDir {
            dirs 'libs'
        }
    }
  implementation(name: 'myloadinganilib-release', ext: 'aar')

之后同步一下就可以引用aar包下的内容了

5. jar包和aar包的区别

jar包只包含class文件,不包含资源文件。
aar包包含class文件和资源文件。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值