androidaar和jar区别_使用Android Studio打包aar与jar

1. jar与aar

从维基百科摘一段:JAR文件(Java归档,英语:Java ARchive)是一种软件包文件格式,通常用于聚合大量的Java类文件、相关的元数据和资源(文本、图片等)文件到一个文件,以便分发Java平台应用软件或库

AAR(Android Archive)包是一个Android库项目的二进制归档文件,与jar文件相比,aar文件可以包含Android资源和一个清单文件,除了java的方法外,还可以捆绑布局和可绘制对象等共享资源

*.jar与*.aar的文件均是以ZIP文件格式以基础,我们可以将文件后缀名改为.zip并解压查看文件结构:

jar:

aar:

2. Module的导入直接导入现有的Module: File ➡ New ➡ Import Module

新建Module: File ➡ New ➡ New Module, 选择Android Library,在Android视图下对新添加的Module添加你所需要加的Activity和资源文件等:

3. jar的打包

对于需要导入的jar包,将其添加到Project视图的libs文件夹下,并添加依赖:

File ➡ Project Structure ➡ 选择对应module的dependencies ➡ 点击+号 ➡ Jar dependency ➡ 选择对应*.jar文件,确认

随后在该Module的build.gradle文件中添加以下代码:

其中from的目录为原jar包的位置,选中该Module,build ➡ Make Module xxx后可以在build/intermediates/bundles/default/,如果没有bundles目录,可以在buile/intermediates/packaged-classes中找到jar包,设置目录为该位置即可

添加完后更新gradle,在右侧Gradle菜单中打开该Module ➡ other ➡ exportJar,双击执行,运行完后在release可以找到生成的jar包

需要注意的是这样生成的jar包只包含源代码的.class文件,并没有包含资源文件,若要包含资源文件的话,build.gradle中添加的代码修改如下:

4. aar的打包

使用Android Studio可以直接打包aar,相较于jar打包更方便,而且也能够包含资源文件,其实在上一步的Make Module后,在build/outputs/aar目录下就可以找到aar包了

你可能感兴趣的:(androidaar和jar区别_使用Android Studio打包aar与jar)