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
工具的導入。導入的方式如下:
- 拷貝aar檔案到libs目錄
- 修改項目的 build.gradle 檔案,代碼如下:
repositories {
flatDir {
dirs 'libs'
}
}
dependencies {
compile(name:'library-release', ext:'aar')
}
至此,我們的aar子產品化已經介紹完畢了。
有部分同學以為,aar檔案也需要配置權限和子產品,實際上并不需要,隻需要在library中的manifest檔案注冊好子產品就行啦,Android Studio會幫助我們添加需要的元件。
哇,好厲害的感覺,趕緊試試看吧!