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
apply plugin: 'com.android.library'
這句話說明這個工程是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會幫助我們新增需要的元件。
哇,好厲害的感覺,趕緊試試看吧!