使用 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的更多相关文章

  1. Android项目实战(十三):浅谈EventBus

    概述: EventBus是一款针对Android优化的发布/订阅事件总线. 主要功能是替代Intent,Handler,BroadCast在Fragment,Activity,Service. 线程之 ...

  2. 【springmvc+mybatis项目实战】杰信商贸-4.maven依赖+PO对+映射文件

    上一篇我们附件的增删改查功能全部完成.但是我们的附件有一个字段叫做“类型”(ctype),这里我们要使用数据字典,所以对于这一块我们要进行修改. 首先介绍一下数据字典 数据字典它是一个通用结构,跟业务 ...

  3. Android项目实战(二十九):酒店预定日期选择

    先看需求效果图: 几个需求点: 1.显示当月以及下个月的日历 (可自行拓展更多月份) 2.首次点击选择"开始日期",再次点击选择"结束日期" (1).如果&qu ...

  4. (转载)Android项目实战(三十二):圆角对话框Dialog

    Android项目实战(三十二):圆角对话框Dialog   前言: 项目中多处用到对话框,用系统对话框太难看,就自己写一个自定义对话框. 对话框包括:1.圆角 2.app图标 , 提示文本,关闭对话 ...

  5. Android项目实战(三十二):圆角对话框Dialog

    前言: 项目中多处用到对话框,用系统对话框太难看,就自己写一个自定义对话框. 对话框包括:1.圆角 2.app图标 , 提示文本,关闭对话框的"确定"按钮 难点:1.对话框边框圆角 ...

  6. (转载)Android项目实战(二十七):数据交互(信息编辑)填写总结

    Android项目实战(二十七):数据交互(信息编辑)填写总结   前言: 项目中必定用到的数据填写需求.比如修改用户名的文字编辑对话框,修改生日的日期选择对话框等等.现总结一下,方便以后使用. 注: ...

  7. Android项目实战(四十九):Andoird 7.0+相机适配

    解决方案类似: Android项目实战(四十):Andoird 7.0+ 安装APK适配 解决方法: 一.在AndroidManifest.xml 文件中添加 四大组件之一的 <provider ...

  8. (转载)Android项目实战(二十八):Zxing二维码实现及优化

    Android项目实战(二十八):Zxing二维码实现及优化   前言: 多年之前接触过zxing实现二维码,没想到今日项目中再此使用竟然使用的还是zxing,百度之,竟是如此牛的玩意. 当然,项目中 ...

  9. (转载)Android项目实战(二十八):使用Zxing实现二维码及优化实例

    Android项目实战(二十八):使用Zxing实现二维码及优化实例 作者:听着music睡 字体:[增加 减小] 类型:转载 时间:2016-11-21我要评论 这篇文章主要介绍了Android项目 ...

随机推荐

  1. vis.js没有中文文档,个人在项目中总结的一些中文配置

    ##vis.js var options = { nodes:{//节点配置 borderWidth: 1,//节点边框的宽度,单位为px borderWidthSelected: 2,节点被选中时边 ...

  2. SVN切换账号

    问题背景 SVN账号在登录的时候,默认是保存在个人电脑的 C:\Users\Administrator\AppData\Roaming\Subversion\auth\svn.simple\ 目录下的 ...

  3. 最优路径算法合集(附python源码)(原创)

    主要的最优(最短)路径算法: 一.深度优先算法:二.广度优先算法:三.Dijstra最短路径:四.floyd最短路径(待): 一.深度优先算法 图的深度优先搜索(Depth First Search) ...

  4. Android--UI之ProgressBar

    前言 开门见山,开篇明意.这篇博客主要讲解一下Android中ProgressBar控件以及间接继承它的两个子控件SeekBar.RatingBar的基本用法,因为其有继承关系,存在一些共有特性,所以 ...

  5. [Shell]sed命令在MAC和Linux下的不同使用方式

    ---------------------------------------------------------------------------------------------------- ...

  6. vue-15-vuex-store的用法

    vue-16-vuex 1, 介绍 对 vue 进行状态管理的, 集中存储所有组件的所有状态, 解决多个组件共享数据的问题. 即, 所有组件可以拿到同样的状态, 组件间共享数据 2, 在之前进行数据交 ...

  7. mysql中外键的特点

    mysql中外键的特点简单描述: 1.要求在从表中设置外键关系: 2.从表的外键列的类型和主表的关联列的类型要求一致或兼容,名称无要求: 3.主表的关联列必须是一个key(一般是主键或唯一键): 4. ...

  8. 使用redis进行基于shiro的session集群共享

    之前写过一篇nginx多tomcat负载均衡,主要记录了使用nginx对多个tomcat 进行负载均衡,其实进行负载均衡之前还有一个问题没有解决,那就是集群间的session共享,不然用户在登录网站之 ...

  9. 始于阿里,回归社区:阿里8个项目进入CNCF云原生全景图

    破土而出的生命力,源自理想主义者心底对技术的信念. 云原生技术正席卷全球,云原生基金会在去年KubeCon +CloudNativeCon NA的现场宣布: 其正在孵化的项目已达14个,入驻的厂家或产 ...

  10. 十大经典排序算法详细总结(含JAVA代码实现)

    原文出处:http://www.cnblogs.com/guoyaohua/p/8600214.html 0.排序算法说明 0.1 排序的定义 对一序列对象根据某个关键字进行排序. 0.2 术语说明 ...