aar
何為aar殉摔?大家都知道jar文件把州胳,如果你有一個Android Library項目,可以很容易的導(dǎo)出jar文件逸月,然后在其他項目中很方便的引用栓撞,aar和jar類似,區(qū)別就是一個Android Library項目導(dǎo)出的jar文件不能包含資源文件碗硬,比如一些drawable文件瓤湘、xml資源文件之類的,所以這就有很大的限制恩尾,在gradle之前我們要引用帶資源文件的Android Library必須要把整個library導(dǎo)入進來進行引用弛说,但是有了gradle之后,Android Library項目可以直接導(dǎo)出成aar翰意,然后其他項目像引用jar的方式直接方便的引用木人。
導(dǎo)出aar
首先Android Library項目的gradle腳本只需要在開頭聲明
apply plugin: 'com.android.library'
之后就和導(dǎo)出apk文件一樣的方法,執(zhí)行./gradlew assembleRelease冀偶,然后就可以在build/outputs/aar文件夾里生成aar文件
引用本地的aar
生成aar之后下一步就是如何引用本地的aar文件醒第?本地的aar文件并沒有像引用jar文件這么簡單,官方也沒有提供解決方案进鸠。好在國外的一些前輩總結(jié)出了方法稠曼,下面就以test.aar文件為例來詳述下方法
1、把aar文件放在一個文件目錄內(nèi)客年,比如就放在libs目錄內(nèi)
2霞幅、在app的build.gradle文件添加如下內(nèi)容
repositories{
flatDir{
dirs'libs'//this way we can find the .aar file in libs folder
}
}
3漠吻、之后在其他項目中添加一句gradle依賴便方便的引用了該library
dependencies{compile(name:'test',ext:'aar')}
以上方法親測有效。
總結(jié)
當(dāng)然通過gradle最普遍的方法是把aar上傳到mavenCentral或者jcenter司恳,引用的話更方便侥猩,但是對于一些公司內(nèi)部library不想公開,而傳統(tǒng)的引用library方式又太繁瑣抵赢,引用本地的aar文件這種方式會非常方便合適欺劳,之后通用的模塊只需要做成library,不管更新還是修改只需要打包成aar铅鲤,然后供其他項目使用就好了划提,對Android開發(fā)來說這是提升代碼復(fù)用非常有效的一個手段。