本文着重講解.aar的生成與引用,完全基礎性概念,大神可以繞過。
.jar 與 .aar的區別
從名稱上來講,一個是 java application resource ;一個是 android application resource ;
那所有的區別從名字上即可體會到:
- .jar 中只包含class文件和清單文件
- .aar 中包含了class文件和其他所有資源文件,包括res中資源文件
比如你的lib庫是一個自定義view封裝,裏面不僅有class文件並且包含了資源文件,那麼此時你就需要將這個庫以.aar的形式來提供給使用。
Android studio中如何生成.aar .jar
studio中以moudel來管理,新建一個moudel,選中android library
新建一個android lib
然後代碼完成後,編譯Rebuild這個moudel即可生成.aar及.jar
你可以根據你的類庫的作用,如果包含資源文件,就用aar.
Android studio中如何引用.aar .jar
引用 .jar
- 將*.jar拷貝到app中的lib下
-
更改build.gradle 配置文件
dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') }
在studio新版本中會自動生成,所有你只需直接拷貝.jar到lib目錄下編譯既可。
引用本地 .aar
- 將*.aar拷貝到app中的lib下
-
更改build.gradle 配置文件
repositories { flatDir { dirs 'libs' } } dependencies { compile(name: 'HouyiLib_v1.0.1', ext: 'aar') }
值得注意的是:如果aar中也引用了第三方的lib,那麼打包後的aar中是沒有把這些三方庫加入到aar中的,這樣就需要在app中除了引用.aar外還要引用其中需要的其他第三方庫。