ANDROID模塊化編程之引用本地的AAR

版權聲明:本文爲 stormzhang 原創文章,能夠隨意轉載,但必須在明確位置註明出處!!!android

隨着項目愈來愈多,代碼的複用就變得異常重要,這時候就要進行模塊化編程,就是把一些通用的組件或者類庫作成單獨的模塊,其餘項目直接進行引用就好。針對Android開發最多見的就是Android Library,在Gradle出現以前引用Android Library的方式也很繁瑣,可是有了Gradle一切變得很是簡單方便。編程

aar

何爲aar?你們都知道jar文件把,若是你有一個Android Library項目,能夠很容易的導出jar文件,而後在其餘項目中很方便的引用,aar和jar相似,區別就是一個Android Library項目導出的jar文件不能包含資源文件,好比一些drawable文件、xml資源文件之類的,因此這就有很大的限制,在gradle以前咱們要引用帶資源文件的Android Library必需要把整個library導入進來進行引用,可是有了gradle以後,Android Library項目能夠直接導出成aar,而後其餘項目像引用jar的方式直接方便的引用。app

導出aar

首先Android Library項目的gradle腳本只須要在開頭聲明maven

apply plugin: 'com.android.library'

以後就和導出apk文件同樣的方法,執行 ./gradlew assembleRelease,而後就能夠在 build/outputs/aar 文件夾裏生成aar文件模塊化

引用本地的aar

生成aar以後下一步就是如何引用本地的aar文件?本地的aar文件並無像引用jar文件這麼簡單,官方也沒有提供解決方案。好在國外的一些前輩總結出了方法,下面就以test.aar文件爲例來詳述下方法gradle

一、把aar文件放在一個文件目錄內,好比就放在libs目錄內ui

二、在app的build.gradle文件添加以下內容this

repositories {
    flatDir {
        dirs 'libs' //this way we can find the .aar file in libs folder
    }
}

三、以後在其餘項目中添加一句gradle依賴便方便的引用了該libraryspa

dependencies {
    compile(name:'test', ext:'aar')
}

以上方法親測有效。code

總結

固然經過gradle最廣泛的方法是把aar上傳到mavenCentral或者jcenter,引用的話更方便,可是對於一些公司內部library不想公開,而傳統的引用library方式又太繁瑣,引用本地的aar文件這種方式會很是方便合適,以後通用的模塊只須要作成library,無論更新仍是修改只須要打包成aar,而後供其餘項目使用就行了,對Android開發來講這是提高代碼複用很是有效的一個手段。

相關文章
相關標籤/搜索