Android中aar和jar的区别

作者: 沫沫么么哒Die | 来源:发表于2021-05-21 16:36 被阅读0次

一·简介

Android中常见的第三方库包括:.so、.jar、*.aar 。一般来说·so是C或C++编写的内容打包成的库,所以我们暂不探究

二. jar

1.什么是jar?

JAR(Java Archive ,Java归档文件)是与平台无关的一种文件格式,它允许将许多文件组合成一个压缩文件。以.zip格式为基础,不仅用于压缩和发布,还用于部署和封装库,组件和插件程序,并且可以被像编译器和JVM这样的工具直接使用。

jar包只包含了class文件与清单文件,不包含资源文件(如图片等所有res中的文件)

打jar包时,项目里的res文件时用不了的,如果想用图片文件,可以将图片文件放进assets文件中打进jar包在进行调用,但是必须注意jar中assets文件夹里的文件不能和调用项目里的assets文件夹里的文件重名。

2.jar的优点?

优点:安全性,减少下载时间,传输平台扩展,包密封,包版本控制,可移植性。

3.打包jar包方法

4.使用jar方式

*·jar拷贝到对应module的libs目录中,在eclipse直接导入即可,AndroidStudio项目中要添加

    api fileTree(include: ['*.jar'], dir: 'libs')

三.aar

1.什么是aar?

Android库项目的二进制归档文件,包含所有资源,class以及res资源文件全部包含。
将aar解压(后缀改为.zip,在解压文件)打开后,可以看到每个aar解压后的内容可能不完全一样,但是都会包含AndroidManifest.xml,classes.jar,res,R.txt。

2.打aar包方法

3.AndroidStudio使用aar方式

将*.aar拷贝到目标mudule的libs目录下,然后在build.gradle中配置

 repositories { 
       flatDir { 
            dirs'libs' 
        } 
 } 
 dependencies { 
 implementation(name:'你拷贝的arr的名字', ext:'aar')
 }

四.总结

jar文件只包含class文件和清单文件,不包含资源文件(如图片等所有res下的资源文件)
aar包含class,清单文件,R文件及res下的所有资源文件

相关文章

网友评论

    本文标题:Android中aar和jar的区别

    本文链接:https://www.haomeiwen.com/subject/pmcwjltx.html