男儿欲遂平生志,五经勤向窗前读。这篇文章主要讲述Android项目实战(三十三):AS下获取获取依赖三方的jar文件aar 转 jar相关的知识,希望能为你提供帮助。
原文: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包即可
文章图片
【Android项目实战(三十三)(AS下获取获取依赖三方的jar文件aar 转 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项目实战(二十五)(Android studio 混淆+打包+验证是否成功)
- 页替换算法
- 系统进程队列
- 进程调度器
- 抢占式优先调度图解示例
- 优先排程调度
- TSL的优先级倒置
- SJF中进程的CPU突发时间的预测
- 物理和逻辑地址空间