天天看點

Android Studio子產品化程式設計實踐之aar

aar介紹

我們都知道在java開發中,我們的library都是使用jar這種形式的,使用Eclipse開發的同學對這個應該會非常熟悉。J2EE中開發中的很多架構都是使用jar包的形式導入的,比如SSH等這樣的開源架構等等。

在java世界裡面,jar包中所包含的一般都是邏輯性的處理,不涉及界面上的一些開發,換句話說就是不包括資源檔案。相對于J2EE開發而言,Android開發中有很多資源檔案,比如圖檔,xml布局,style等檔案,這些檔案沒有辦法在jar包中進行使用。

現在,Android Studio幫我們解決了這個子產品化開發的攔路虎,aar可以看做是一種更加進階的jar,它可以包含資源檔案以及我們打包出來的jar檔案。

導出aar

aar檔案的目錄在我們library目錄下的output目錄下。具體的目錄如下:

library\build\outputs\aar
           

我們可以在這個目錄下找到兩個aar檔案,一般來說,release版本是我們需要的。

導出aar檔案的指令比較簡單,找到項目所在的位置,對項目進行編譯操作,指令如下:

gradlew assemblerelease
           

在指令行執行了如上的指令之後,在上面提示的目錄當中去尋找我們需要的aar檔案即可。

配置library

知道了aar檔案的作用以及它在的位置,如何生成我們需要的aar檔案呢?

首先要注意,導出子產品化的library,我們需要将工程設定為library模式,修改library的

build.gradle

檔案資訊,如下:

這句話說明這個工程是library模式的,也是就說這個library會生成aar檔案。

對于很多子產品來說,如果是需要提供給外部人員使用的,往往會根據子產品的性質,進行一些混淆的操作,代碼設定如下:

buildTypes {
    release {
        // 是否混淆
        minifyEnabled true
        //Zipalign優化
        zipAlignEnabled true
        // 移除無用的resource檔案
        shrinkResources true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
           

使用aar

使用aar檔案的方式非常簡單,與jar基本一緻,稍微多了一點設定的東西,步驟如下:

目前,我們UPS的SDK僅僅支援使用

Android Studio

工具的導入。導入的方式如下:

  1. 拷貝aar檔案到libs目錄
  2. 修改項目的 build.gradle 檔案,代碼如下:
repositories {
    flatDir {
        dirs 'libs'
    }
}
dependencies {
    compile(name:'library-release', ext:'aar')
}
           

至此,我們的aar子產品化已經介紹完畢了。

有部分同學以為,aar檔案也需要配置權限和子產品,實際上并不需要,隻需要在library中的manifest檔案注冊好子產品就行啦,Android Studio會幫助我們添加需要的元件。

哇,好厲害的感覺,趕緊試試看吧!