无论是用Eclipse还是用Android Studio做android开发,都会接触到jar包,全称应该是:Java Archive,即java归档文件。
在用AS的过程中,你会发现有aar这么个东西,经查阅资料了解到,aar是android归档文件,我想全称应该是:Android Archive。
他们两个有什么区别呢?

个人理解:
jar是java文件编译后的class文件压缩包。
aar是android module中所有resource文件和编译后的java文件的总压缩包。
aar包是Android Studio下打包android工程中src、res、lib后生成的aar文件,aar包导入其他android studio 工程后,其他工程可以方便引用源码和资源文件

区别在于:aar除了包含class文件,还包含resource文件。

1. 如何生成aar包

如果AS项目中没有Module,需要先自己新建一个Module。
依次选择File--New--New Module
依次选择File–New–New Module

选择Android Library
选择选择Android Library,点击“Next”。
在这里插入图片描述
修改Application/library name为工程名称,Module name需要自己定义,这里暂时用mylibrary,包名可以点击“Edit”进行修改。
设置完成后,点击“Finish”。这样一个module就新建完毕了。

在新建的module的包内新建一个类文件写入你想要做的操作。
在这里插入图片描述
接下来就可以生成aar包了

Rebuild Project完之后在module内的“build”—“output”—“aar”中找到我们要的aar包

aar包就生成了,生成的是debug版本的aar,如果要生成release版本的,见方法2。

方法2:
在这里插入图片描述
选择AS右侧“Gradle”—选择需要生成aar的Module—“build”—“assembleRelease”,等待编译完成后,在Module相应的目录中找到aar。
在这里插入图片描述

2. 如何向工程中添加aar包

将生成的包拷贝到Android工程下的app/libs下

配置build.gradle文件

//使用Flat Directory仓库,这意味着系统将在lib目录下搜索依赖
repositories {
    flatDir {
    	dirs'libs'
dependencies {
    implementation fileTree (include: ['*.jar', '*.aar'], dir: 'libs')
    testImplementation 'junit:junit:4.12'
    implementation 'com.android.support:appcompat-v7:27.1.1'
	implementation (name:'mylibrary-debug',ext:'aar')

然后同步一下gradle。

到这一步其实我们的aar包已经在工程的扩展包里了。

现在在Android项目中使用aar包中的print()方法。

运行之后没有报错,添加完毕!

Android Gradle 打包每个库工程都会导出一个 AAR 文件。之前有尝试使用第三方插件 fat-aar 来合并打包,但打包时经常报错,合并时间也略长。此外此次导出的 SDK 需要做代码混淆,如果对每一个库都进行混淆文件非常麻烦,不便于统一管理,也不便于统一暴露接口。工程库之间的引用逻辑比较多,也增加了导包的配置成本,此外还要支持 AIDL 合并。 GitHub源码地址:https://github.com/RuiRay/MergeModuleAAR 这里选择将多个工程库合并到一个工程库后再打包的方
manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] resources.srcDirs = ['src'] aidl.srcDirs = ['src'] renderscript.srcDirs = ['src'] 1 点击【File>New>New Module】 2 选择 【Import .JAR/.AAR Package,点击【Next】 3 输入.arr文件所在路径并点击【finish】. 4 点击【File>Project Settings 】(或者使用快捷键[Ctrl+Shift+Alt+S](适用于Windows)). 5 在左侧菜单【Modules】栏目下,选择需要依赖.a aar包是Androidstudio下打包android工程src、res、lib后生成aar文件aar包导入其他android studio 工程后,其他工程可以方便引用源码和资源文件 2、生成aar包步骤 2.1、用android studio打开一个工程,然后新建一个Module,新建Module时候选择Android Library,后面按新建普通工程操作
Android Studio 项目里面引入xxx.aar包,主要有以下几个步骤: 将目标aar文件,例如lyx-library-1.0.3.aar文件,复制粘贴在工程的app/lib/目录下。 在app目录下的build.gradle文件添加以下代码:
今天对接一个海康监控的sdk,其sdk 是以aar的形式提供的,并且我需要用到此aar的模块是个library。所以按照正常的在application模块引入aar的方式一致报错,首先提示要关闭offline ,然后关闭了还是会提示错误。想了很久不明白。最终通过公司前辈的指导,正确的引入aar。 1.除了和正常的aar引入方式外,我们还需要在application所在模块的build.gr