1. 程式人生 > >Android釋出AAR包

Android釋出AAR包

最近有需求要釋出一套SDK,這套SDK有幾個要求:

  1. 帶有Activity和Fragment;
  2. 有網路請求模組;
  3. 有依賴jar包;

依照上面的要求我最先想到的就是AAR包了,因為以下幾個原因:
1. aar包可以包含資原始檔和佈局檔案,這樣就可以在SDK中包含Activity了;
2. aar包會包含libs目錄下的jar包;

1、怎樣打包成AAR?

打包aar其實很簡單,只需要我們建立一個Library工程就可以了。
建立Library的Module

這個時候編譯Library就會在outputs目錄下生成一個aar資料夾,裡面包含aar檔案。
AAR檔案

aar也是可以混淆的,方式和apk一樣。
混淆

2、怎樣引用AAR?

引用aar可以有兩種方式,一種是本地引用,一種是遠端庫引用,目前我只用到了本地引用,遠端的以後會補上。首先在bulid.gradle檔案中定義一個本地庫。
這裡寫圖片描述

然後在依賴引用的地方新增依賴。
依賴本地倉庫

compile(name:'mylibrary-debug', ext:'aar')

name:aar包的名字;ext:副檔名;

3、aar包含jar

打包aar包的時候會自動將lib目錄下的jar打包進aar包中。
解壓後libs目錄包含jar檔案

4、多個aar合併

因為分層的原因,有多個library工程,這樣就會有多個aar,釋出起來很麻煩,嘗試google了半天,發現目前都是一個辦法,android-fat-aar,一個gradle指令碼,github地址是:

https://github.com/adwiv/android-fat-aar。不過我發現他支援gradle2.2.X之前的版本,新的3.X版本並不能執行。這塊還在繼續摸索,有知道辦法的大神請指教一下~~~~