- jar是java字節(jié)碼文件(class文件)的歸檔文件
- aar是Android中特有的歸檔文件,與jar最大區(qū)別是包含Android的資源文件等
下邊看一張aar的解壓縮圖片
aar.png
那么大家關(guān)心的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檩电,完成代碼后备闲,編譯這個(gè)Module挤安,即可生成aar文件
打包jar文件
-
第一種方式 使用gradle腳本實(shí)現(xiàn)項(xiàng)目build.gradle中增加一個(gè)Jar任務(wù)
task buildJar(type: Jar) { appendix = "demo" baseName = "androidJar" version = "1.0.0" classifier = "release" //后綴名 extension = "jar" //最終的 Jar 包名,如果沒設(shè)置,默認(rèn)為 [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" //只導(dǎo)入資源路徑集下的部分資源 // include "com/peipei/ptool/jar/**/*.class" //注: exclude include 支持可變長參數(shù) }
在Terminal中鍵入gradlew buildJar 回車 然后再build>libs中可以找到JarDemo.jar
2.第二種方式 和打包aar的第二種方法一樣
引用aar
復(fù)制aar到lib目錄中
在app的build.gradle中加入
repositories {
flatDir {
dirs 'libs'
}
}
dependencies {
compile(name: 'HouyiLib_v1.0.1', ext: 'aar')
}
//HouyiLib_v1.0.1為aar文件名字
引用jar
這個(gè)就不說了仇参,大家都知道的