Android项目实战(三十三):AS下获取获取依赖三方的jar文件、aar 转 jar

简介: 使用 Android studio 开发项目中,有几种引用三方代码的方式:jar 包 ,类库 ,gradle.build 的compile依赖。大家会发现github上不少的项目只提供compile依赖的方式,但是当用到jar包使用过的情况 且 该项目不提供jar包的时候怎么办?其实Android Studio 在compile方式 依赖三方项目的时候 就已经在本地有了该项目的jar包了,我们只需要去本地找到那个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 包了  重命名成自己需要的名字即可。

 

  

相关文章
|
2月前
|
Java Android开发
|
1月前
|
Java 数据库 数据安全/隐私保护
Java操作Excel文件导入导出【内含有 jxl.jar 】
Java操作Excel文件导入导出【内含有 jxl.jar 】
34 0
|
29天前
|
XML 运维 Java
Spring运维之boot项目打包jar和插件运行并且设置启动时临时属性和自定义配置文件
Spring运维之boot项目打包jar和插件运行并且设置启动时临时属性和自定义配置文件
26 1
|
1月前
|
IDE 数据可视化 Java
Java基础6-Java文件和Java包结构和常用的jar包(二)
Java基础6-Java文件和Java包结构和常用的jar包(二)
24 0
|
1月前
|
Java Unix 编译器
Java基础6-Java文件和Java包结构和常用的jar包(一)
Java基础6-Java文件和Java包结构和常用的jar包(一)
29 0
|
2月前
|
Java Android开发
Android编译的jar里面是dex
Android编译的jar里面是dex
28 0
|
2月前
|
Java Android开发
Android module 打包成aar或jar
Android module 打包成aar或jar
36 0
|
2月前
|
Java
如何解决使用若依前后端分离打包部署到服务器上后主包无法找到从包中的文件的问题?如何在 Java 代码中访问 jar 包中的资源文件?
如何解决使用若依前后端分离打包部署到服务器上后主包无法找到从包中的文件的问题?如何在 Java 代码中访问 jar 包中的资源文件?
255 0
|
12天前
|
开发工具 Android开发 iOS开发
探索Android与iOS开发的差异与挑战
【7月更文挑战第11天】在移动应用开发的广阔天地中,Android和iOS两大平台如同双子星座般耀眼,各自拥有独特的开发生态和用户群体。本文将深入分析这两个平台的显著差异,从技术架构到开发工具,再到市场定位,揭示它们之间的异同。通过比较,我们不仅能够更好地理解各自的优势和局限,还能洞察未来移动应用开发的趋势。
|
9天前
|
Android开发 Kotlin
kotlin开发安卓app,如何让布局自适应系统传统导航和全面屏导航
使用`navigationBarsPadding()`修饰符实现界面自适应,自动处理底部导航栏的内边距,再加上`.padding(bottom = 10.dp)`设定内容与屏幕底部的距离,以完成全面的布局适配。示例代码采用Kotlin。
46 15