Android studio中生成引用.aar和.jar的方法详解
作者:smart_dev 发布时间:2023-09-29 07:48:33
在Android Studio中对一个自己库进行生成操作时将会同时生成*.jar与*.aar文件。
分别存储位置:
*.jar:库 /build/intermediates/bundles/debug(release)/classes.jar
*.aar:库 /build/outputs/aar/libraryname.aar
.jar 与 .aar的区别
从名称上来讲,一个是java application resource;一个是android application resource;
那所有的区别从名字上即可体会到:
.jar 中只包含class文件和清单文件
.aar 中包含了class文件和其他所有资源文件,包括res中资源文件
比如你的lib库是一个自定义view封装,里面不仅有class文件并且包含了资源文件,那么此时你就需要将这个库以.aar的形式来提供给使用。
Android studio中如何生成.aar .jar
studio中以moudel来管理,新建一个moudel,选中android library
然后代码完成后,编译这个moudel即可生成.aar及.jar
aar生成目录
jar生成目录
你可以根据你的类库的作用,如果包含资源文件,就用aar.
Android studio中如何引用.aar .jar
引用 .jar
将*.jar拷贝到app中的lib下
更改build.gradle 配置文件
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
}
在studio新版本中会自动生成,所有你只需直接拷贝.jar到lib目录下编译既可。
引用本地 .aar
将*.aar拷贝到app中的lib下
更改build.gradle 配置文件
repositories {
flatDir {
dirs 'libs'
}
}
dependencies {
compile(name: 'HouyiLib_v1.0.1', ext: 'aar')
}
值得注意的是:如果aar中也引用了第三方的lib,那么打包后的aar中是没有把这些三方库加入到aar中的,这样就需要在app中除了引用.aar外还要引用其中需要的其他第三方库。


猜你喜欢
- java web返回中文乱码ajax返回中文乱码问题 在浏览器按F12查看数据包可以看到charset为 iso-8859-1,这是spri
- 今天是圣诞节平安夜,为此特别制作了一个雪花飘落的场景,我们的雪花渲染方式不同于网上流行的使用Camera Filter,需要将脚本挂接到相机
- 之前使用的那台电脑有点旧了,稍微跑一下程序就报内存不够。本来想考虑入手一台带GPU的新电脑,在商品浏览里的时候,考虑到钱包不够厚实。就选了家
- 如今RxJava和Retrofit的结合使用估计已经相当普遍了,自己工作中也是一直都在使用。在使用的过程中我们都会对其进行封装使用,GitH
- 前言qq最近更新搞了渐变式状态栏.然后...新需求就是要加这个.唉先来张效果图:常见的方式:设置Theme,状态栏透明. <item
- 今天看到已经更新了devblogs,新增的C# 11的!!(用于检查null的语法)经过非常长的讨论,最后取消了。然后我又想起来null检查
- 问题:系统要求导入40万条excel数据,采用poi方式,服务器出现内存溢出情况。解决方法:由于HSSFWorkbook workbook
- 目录1. 定义排序列数组2. 修改表头点击事件3. 修改表格排序方法4. 修改后台传参实现思路也比较简单,只需要用一个数组来存放所有排序的列
- 代码从windows下visual studio到andriod平台迁移实现步骤:前言前言也是迁言,从windows的visual stud
- 一、swagge简介前后端分离:后端︰后端控制层,服务层,数据访问层【后端团队】前端:前端控制层,视图层【前端团队】前后端通过API进行交互
- 一、概述热修复这项技术,基本上已经成为项目比较重要的模块了。主要因为项目在上线之后,都难免会有各种问题,而依靠发版去修复问题,成本太高了。现
- 先看一组加载效果图,有点粉粉的加载圈: 自定义这样的圆形加载圈还是比较简单的,主要是用到Canvans的绘制文本,绘制圆和绘制圆弧的api:
- 本文实例分析了C#反射内存的处理。分享给大家供大家参考。具体分析如下:这段时间由于公司的项目的要求,我利用c#的反射的机制做了一个客户端框架
- 1 简介之前我们在文章《K8ssandra入门-详细记录在Linux上部署K8ssandra到Kubernetes》成功地在Ubuntu上安
- 1 简介Solace是一个强大的实时性的事件驱动消息队列。本文将介绍如何在Spring中使用,虽然代码使用的是Spring Boot,但并没
- Android Rreact Native 常见错误总结 1.invariant violation:expecte
- 使用CachePut注解,该方法每次都会执行,会清除对应的key值得缓存(或者更新),分为以下两种情况:如果返回值null,下次进行该key
- 目录“头疼”“吃药”工具代码使用代码“头疼”自己在用Angular做项目时,前端要请求后端数据时的代码如下this.http.get(&qu
- 目录一. 已有倒计时方案存在的问题1. CountDownTimer2. Handler3. Timer二. 自己封装倒计时总结一. 已有倒
- 一、题目描述二、思路语法基础:StringBuilder 类似列表,可以更改元素。package Practice;public class