无论是用Eclipse还是用Android Studio做android开发,都会接触到jar包,全称应该是:Java Archive,即java归档文件。
在用AS的过程中,你会发现有aar这么个东西,经查阅资料了解到,aar是android归档文件,我想全称应该是:Android Archive。
他们两个有什么区别呢?
个人理解:
jar是java文件编译后的class文件压缩包。
aar是android module中所有resource文件和编译后的java文件的总压缩包。
区别在于:aar除了包含class文件,还包含resource文件。
在Android Studio中如何引入aar文件呢?
拿RecyclerView的aar文件为例。
1、找到aar文件:..\Android_SDK_Windows\extras\android\m2repository\com\android\support\recyclerview-v7\24.0.0\recyclerview-v7-24.0.0.aar
copy到Android Studio项目中的libs目录下。
2、然后在Android Studio对应的module的build.gradle文件中输入一下内容:
dependencies { ... compile(name:'recyclerview-v7-24.0.0',ext:'aar') } repositories { flatDir { dirs 'libs' } }
3、然后重新build下整个项目即可。
在Android Studio中如何把某一个module导出为aar文件呢?
以testlibrary为例:
1、执行对应module的assembleRelease命令:
上图切记,如果是项目的主module,即app,则生成的是apk包。
2、在对应module的build\outputs\aar\目录下即是:
如果想把aar文件导入到Eclipse中呢?
如图:把aar文件用WinRAR等压缩软件打开后,会发现是上面的结构,classes.jar即为class文件的jar包,其他的为android相关的资源文件。
如果你想把导入到Eclipse中,就需要把这里面的所有资源和class文件转换成一个library工程了。
用Eclipse新建一个library工程,导入res资源、清单文件和发编译后的java文件。