- jar是java字節碼文件(class文件)的歸檔文件
- aar是Android中特有的歸檔文件,與jar最大區別是包含Android的資源文件等
下邊看一張aar的解壓縮圖片
aar.png
那么大家關心的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
這個就不說了,大家都知道的