前言:一般大一點的項目都會依賴多個項目或者第三方庫,在使用Eclispe開發時,我們經常使用到 jar 包,但是接觸到AndroidStudio後我們有了更好的打包方式,即aar。
閱讀之前,如果你對Gradle構建沒有了解,請先閱讀Gradle構建基礎,方便本篇內容的理解。
一、aar和jar的生成
當改項目的build.gradle的配置中,插件爲 com.android.library時:
apply plugin: ‘com.android.library’
可以認爲該Moulde爲一個依賴工程,編譯該Moudle會自動生成 aar 和 jar.
生成的目錄位置:
jar: library/build/intermediates/bundles/debug(release)/classes.jar
aar: library/build/outputs/aar/demo.aar
二、arr和jar的區別
- jar:僅打包了class文件和配置清單文件,其res等資源文件並沒有進來
- arr:打包了所有的class、res等資源文件
三、arr包在AndroidStudio中使用
- 複製demo.aar到libs目錄下
更改build.gradle配置
repositories {
flatDir {
dirs ‘libs’
}
}
dependencies {
compile(name:’demo’, ext:’aar’)
}重新編譯一次,查看項目地址 ”\build\intermediates\exploded-aar\“ 你會發現下面多了一個文件夾 librarydemo 打開後能看見裏邊包含了一個 ”classes.jar“ 文件與一些 資源文件和”R.txt“文件 。