編輯:Android開發環境
一個Android Library結構上與Android app模塊相同。它可以包含構建一個app需要的所有東西,包括圓滿,資源文件和AndroidManifest.xml。然而,並非編譯成運行在設備上的APK,一個Android Library編譯成其他Android app模塊可以用作以來的AAR文件。
一個Library模塊在以下情形中是有用的:
1、 當你構建多個使用相同組件,比如activity、service或者UI布局,的APP。
2、 當你構建的APP存在多個APK文件。比如免費版和付費版APK。
在這些案例中,簡單的移動你想復用的文件到Library模塊中,添加Library作為APP模塊的依賴。
創建一個Library模塊
為了創建一個新的Library模塊到你的項目中,遵循如下步驟:
1、 單擊File > New > New Module
2、 在Create New Module窗口出現時,點擊Android Library。然後點擊Next。
這裡同樣有一個創建Java Library的可選項,可以構建一個傳統的JAR文件。JAR文件在很多項目中都是可用的。特別是你想與其他平台分享代碼,它不允許包含Android資源文件或者AndroidMainfest.xml,,這個在Android項目中是非常有用的,所以我們專注創建Android Library。
3、 為你的Library設置一個名稱並且選擇一個最小的SDK,然後點擊Finish。
一旦Gradle項目同步完成。Library模塊顯示在Project左邊的面板中。如果你沒有看到新的模塊文件夾,確保適應的是Android視圖。
將App模塊轉化為Library模塊
如果你有一個已經存在的app模塊所有的代碼你都想復用,你可以通過以下幾部將其轉化成Library模塊。
1、 打開build.gradle文件,你可以看到如下語句:
apply plugin: ‘com.android.application’
2、 更改成如下:
apply plugin: ‘com.android.library’
3、 點擊Sync Project with Gradle Files
就這麼簡單,整個模塊無需改動。但是現在就可以作為Library並且生成AAR文件而不是APK。
將你的Library添加為依賴
為了在其他app模塊中使用你的Android Library代碼,操作如下:
1、 有兩種方式添加library到你的項目中。
添加編譯後的AAR(或者JAR)文件:
1) 單擊 File > New Module。
2) 單擊 Import .JAR/.AAR Package 然後點擊Next。
3) 輸入AAR或者JAR文件的位置,然後點擊Finish。
導入你的Library模塊到你的項目:
1) 單擊 File > New > Import Module
2) 輸入Library 模塊的位置點擊Finish。
Library模塊被復制到你的項目中所以你可以編輯Library代碼。
2、 確保Library 列在setting.gradel文件的頂部。
include ‘:app’, ‘:my-library-module’
3、 打開app模塊的build.gradle文件添加一個新的依賴到dependencies中:
dependencies {
compile project(“:my-library-module”)
}
4、 單擊Sync Project with Gradle Files。
現在,你的Android Library中的任何代碼和資源都是可以被你的app模塊訪問,Library的AAR文件將會在你的APK打包的時候加入進去。
注意以下問題
1、 資源合並可能導致沖突
2、 Library模塊可以包含JAR 包。
3、 Library模塊不能使用 raw資源
4、 App模塊的最小SDK版本必須等於或高於Library中的版本。
5、 每個Library模塊創建它自己的R類。