两者区别:
*.jar:只包含了class文件与清单文件,不包含资源文件,如图片等所有res中的文件。
*.aar:包含所有资源,class以及res资源文件全部包含
如果你只是一个简单的类库那么使用生成的*.jar文件即可;如果你的是一个UI库,包含一些自己写的控件布局文件以及字体等资源文件那么就只能使用*.aar文件。
1. *.jar,JAR 文件就是 Java Archive File,顾名思意,它的应用是与 Java 息息相关的,是 Java 的一种文档格式。只包含了class文件与清单文件 ,不包含资源文件,如图片等所有res中的文件。找一个jar文件,然后修改后缀名为‘zip’或者‘rar’格式,然后解压该文件,打开解压后的文件夹,截图如下所示:
点击‘com‘文件夹就会看到里面全部是‘.class’文件。
2. *.aar,AAR(Android Archive)包是一个Android库项目的二进制归档文件。我们随便找一个aar文件,然后修改后缀名为‘zip’或者‘rar’格式,然后解压该文件,打开解压后的文件夹,截图如下所示:(每个aar解压后的内容可能不完全一样,但是都会包含AndroidManifest.xml,classes.jar,res,R.txt)
*.aar文件中包含所有资源,class以及res资源文件。
使用
1. *.jar文件使用。
*.jar文件拷贝到libs目录,eclipse直接导入即可,AndroidStudio项目中添加:
重新编译即可完成。
2. *.aar文件使用。
*.aar文件使用有两种方式,一种是使用在线的(网上的),一种是添加本地的*.aar文件。网络加载,只要你知道*.aar文件在maven中的路径即可,此处不演示了。下面主要看看在Android Studio中如何加载本地的*.aar文件。
(1).把aar文件放在一个文件目录内,比如就放在libs目录内;
(2).在app的build.gradle文件添加如下内容;
(3).之后只需要添加一句gradle依赖便方便的引用了该aar文件;
至此,在Android Studio中加载本地的*.aar文件就结束,是不是很简单呢!需要补充一点,如果*.aar文件中引用了其他Maven 仓库的包,那么需要在gradle中添加依赖,否则在运行的时候,可能会报“Caused by: Java.lang.ClassNotFoundException”!
如何在Eclipse中使用aar文件
1.拿到aar文件后,解压。如不能解压,修改后缀为zip后解压(推荐工具7-zip,巨强大好用,能直接解压很多类型)。
解压后如下:
2.把classes.jar直接复制到自己的项目lib包下使用。推荐改名字后使用,要不然太乱。
3.在第一步解压好的目录下新建project.properties。写入target=android-22 android.library=true 保存。
4.删除aapt,jni等无用的文件夹以及R.txt文件等。
5.导入eclipse作为library使用给自己的项目。
---------------------
原文:https://blog.csdn.net/miao0967020148/article/details/79608516