- jar是java字节码文件(class文件)的归档文件
- aar是Android中特有的归档文件,与jar最大区别是包含Android的资源文件等
下边看一张aar的解压缩图片
那么大家关心的aar文件是如何生成的呢?
打包aar
文件要输出aar: 必须将Module配置为library,Module的gradle文件第一行
apply plugin: 'com.android.library'
如果是输出apk: gradle第一行
apply plugin: 'com.android.application'1.
- 第一种方式 在Android studio中选中Module, Build>Rebuild Project
就可以在build>outputs>aar下找见aar文件了 - 第二种方式 新建Module,完成代码后,编译这个Module,即可生成aar文件
打包jar文件
-
第一种方式 使用gradle脚本实现项目build.gradle中增加一个Jar任务
task buildJar(type: Jar) { appendix = "demo" baseName = "androidJar" version = "1.0.0" classifier = "release" //后缀名 extension = "jar" //最终的 Jar 包名,如果没设置,默认为 [baseName]-[appendix]-[version]-[classifier].[extension] archiveName = "JarDemo.jar" //需打包的资源所在的路径集 def srcClassDir = [project.buildDir.absolutePath + "/intermediates/classes/release"]; //初始化资源路径集 from srcClassDir //去除路径集下部分的资源 // exclude "com/peipei/ptool/Image.class" // exclude "**/R.class" // exclude "**/R\$*.class" //只导入资源路径集下的部分资源 // include "com/peipei/ptool/jar/**/*.class" //注: exclude include 支持可变长参数 }
在Terminal中键入gradlew buildJar 回车 然后再build>libs中可以找到JarDemo.jar
2.第二种方式 和打包aar的第二种方法一样
引用aar
复制aar到lib目录中
在app的build.gradle中加入
repositories {
flatDir {
dirs 'libs'
}
}
dependencies {
compile(name: 'HouyiLib_v1.0.1', ext: 'aar')
}
//HouyiLib_v1.0.1为aar文件名字
引用jar
这个就不说了,大家都知道的