Android项目实战(三十三):AS下获取获取依赖三方的jar文件、aar 转 jar
使用 Android studio 开发项目中,有几种引用三方代码的方式:jar 包 ,类库 ,gradle.build 的compile依赖。
大家会发现github上不少的项目只提供compile依赖的方式,但是当用到jar包使用过的情况 且 该项目不提供jar包的时候怎么办?
其实Android Studio 在compile方式 依赖三方项目的时候 就已经在本地有了该项目的jar包了,我们只需要去本地找到那个jar包就可以了。
查找方法:
一、项目大纲路径下的:External Libraries ,会发现很多我们当前项目中用的三方。

二、选择其中的一个右键 :选中 Library Properties...

三、 可以看到该三方项目的jar包在本地中的路径位置,只需要在该路径下找到该jar包即可

四、可以在该路径下找到jar文件了。

五、resource.jar 与 jar
大家实际操作起来会发现,有的三方我们能找到它的resource.jar 和 jar两种jar包,而有的三方我们只能找到resource.jar包 而没有jar包
resource.jar 文件 和 .jar 文件的区别:
实际上 resource.jar 包 叫做 资源jar包,我们解压缩会发现其中的文件都是.java 类型的 。 而去 解压缩.jar 文件 会发现其中的文件都是 .class类型的。
而只有内部是.class文件的 jar包才是我们真正可以使用的,而resouce.jar 资源jar包 不能使用,否则会报ClassNotFindException 异常 。
那么按上述步骤找到的三方只有resource.jar 包的情况下 怎么获取 jar包呢。
这里再了解一下 .aar 文件 和 .jar 文件的区别。
*.jar:只包含了class文件与清单文件,不包含资源文件,如图片等所有res中的文件。 *.aar:包含所有资源,class以及res资源文件全部包含 如果你只是一个简单的类库那么使用生成的*.jar文件即可;如果你的是一个UI库,包含一些自己写的控件布局文件以及字体等资源文件那么就只能使用*.aar文件。
按上述 一 --- 四的步骤,其实我们会发现

除了 .jar 文件 和 .resource.jar 文件之外,还有一个 .aar 文件
如果有 .aar 文件 ,就可以从.aar 文件中获取到我们需要的 .jar文件
步骤如下:
1、找到一个 .aar 文件

2、修改文件格式为 .zip 关于解压

3、解压缩这个.zip文件

4、其中的 classes.jar 就是我们需要的 该三方的 .jar 包了 重命名成自己需要的名字即可。
Android项目实战(三十三):AS下获取获取依赖三方的jar文件、aar 转 jar的更多相关文章
- Android项目实战(十三):浅谈EventBus
概述: EventBus是一款针对Android优化的发布/订阅事件总线. 主要功能是替代Intent,Handler,BroadCast在Fragment,Activity,Service. 线程之 ...
- 【springmvc+mybatis项目实战】杰信商贸-4.maven依赖+PO对+映射文件
上一篇我们附件的增删改查功能全部完成.但是我们的附件有一个字段叫做“类型”(ctype),这里我们要使用数据字典,所以对于这一块我们要进行修改. 首先介绍一下数据字典 数据字典它是一个通用结构,跟业务 ...
- Android项目实战(二十九):酒店预定日期选择
先看需求效果图: 几个需求点: 1.显示当月以及下个月的日历 (可自行拓展更多月份) 2.首次点击选择"开始日期",再次点击选择"结束日期" (1).如果&qu ...
- (转载)Android项目实战(三十二):圆角对话框Dialog
Android项目实战(三十二):圆角对话框Dialog 前言: 项目中多处用到对话框,用系统对话框太难看,就自己写一个自定义对话框. 对话框包括:1.圆角 2.app图标 , 提示文本,关闭对话 ...
- Android项目实战(三十二):圆角对话框Dialog
前言: 项目中多处用到对话框,用系统对话框太难看,就自己写一个自定义对话框. 对话框包括:1.圆角 2.app图标 , 提示文本,关闭对话框的"确定"按钮 难点:1.对话框边框圆角 ...
- (转载)Android项目实战(二十七):数据交互(信息编辑)填写总结
Android项目实战(二十七):数据交互(信息编辑)填写总结 前言: 项目中必定用到的数据填写需求.比如修改用户名的文字编辑对话框,修改生日的日期选择对话框等等.现总结一下,方便以后使用. 注: ...
- Android项目实战(四十九):Andoird 7.0+相机适配
解决方案类似: Android项目实战(四十):Andoird 7.0+ 安装APK适配 解决方法: 一.在AndroidManifest.xml 文件中添加 四大组件之一的 <provider ...
- (转载)Android项目实战(二十八):Zxing二维码实现及优化
Android项目实战(二十八):Zxing二维码实现及优化 前言: 多年之前接触过zxing实现二维码,没想到今日项目中再此使用竟然使用的还是zxing,百度之,竟是如此牛的玩意. 当然,项目中 ...
- (转载)Android项目实战(二十八):使用Zxing实现二维码及优化实例
Android项目实战(二十八):使用Zxing实现二维码及优化实例 作者:听着music睡 字体:[增加 减小] 类型:转载 时间:2016-11-21我要评论 这篇文章主要介绍了Android项目 ...
随机推荐
- WHERE 子句用于规定选择的标准
WHERE 子句 如需有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句. (也称条件查询语句) 语法SELECT 列名称 FROM 表名称 WHERE 列 运算符 值 下面的& ...
- redis 系列2 知识点概述
一.概述 Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库.缓存和消息中间件. 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表 ...
- C#版 - 剑指offer 面试题9:斐波那契数列及其变形(跳台阶、矩形覆盖) 题解
面试题9:斐波那契数列及其变形(跳台阶.矩形覆盖) 提交网址: http://www.nowcoder.com/practice/c6c7742f5ba7442aada113136ddea0c3?tp ...
- 正确重写hashcode hashcode与equals方法 集合元素如何判断是否相等 集合如何查看是否包含某个元素
首先记住两句话 相等的两个对象,即equals(Object)方法判断两个对象相等,那么他们必须要有相同的hashcode hashcode相同的两个对象,他们可能相同,也可能不相同 简单地说可以这么 ...
- es6入门4--promise详解
可以说每个前端开发者都无法避免解决异步问题,尤其是当处理了某个异步调用A后,又要紧接着处理其它逻辑,而最直观的做法就是通过回调函数(当然事件派发也可以)处理,比如: 请求A(function (请求响 ...
- SpringBoot(6) SpringBoot配置全局异常
1.全局异常 @ControllerAdvice 如果是返回json数据 则用 RestControllerAdvice,就可以不加 @ResponseBody //捕获全局异常,处理所有不可知的异常 ...
- 第6章 LVM详解
6.1 LVM相关概念和机制 LVM(Logical Volume Manager)可以让分区变得弹性,可以随时随地的扩大和缩小分区大小,前提是该分区是LVM格式的. lvm需要使用的软件包为lvm2 ...
- 我的IdentityServer目录
概念部分 理解oauth协议 理解什么是claim 学习Identity Server 4的预备知识 Open ID Connect(OIDC)在 ASP.NET Core中的应用 操作部分 入门: ...
- WPF 自定义Command
无参Command: internal class DelegateCommand : ICommand { private readonly Action _execute; private rea ...
- Jquery ajax, Axios, Fetch区别之我见(转载)
来源:https://segmentfault.com/a/1190000012836882 引言 前端技术真是一个发展飞快的领域,我三年前入职的时候只有原生XHR和Jquery ajax,我们还曾被 ...