Android發(fā)布AAR包

最近有需求要發(fā)布一套SDK,這套SDK有幾個要求:

  1. 帶有Activity和Fragment;
  2. 有網(wǎng)絡(luò)請求模塊;
  3. 有依賴jar包;

依照上面的要求我最先想到的就是AAR包了,因為以下幾個原因:

  1. aar包可以包含資源文件和布局文件,這樣就可以在SDK中包含Activity了;
  2. aar包會包含libs目錄下的jar包;

1、怎樣打包成AAR?

打包aar其實很簡單,只需要我們創(chuàng)建一個Library工程就可以了。


創(chuàng)建Library的Module

這個時候編譯Library就會在outputs目錄下生成一個aar文件夾,里面包含aar文件。


AAR文件

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


混淆

2、怎樣引用AAR?

引用aar可以有兩種方式,一種是本地引用,一種是遠(yuǎn)端庫引用,目前我只用到了本地引用,遠(yuǎn)端的以后會補(bǔ)上。首先在bulid.gradle文件中定義一個本地庫。


這里寫圖片描述

然后在依賴引用的地方添加依賴。


依賴本地倉庫
compile(name:'mylibrary-debug', ext:'aar')

name:aar包的名字;ext:擴(kuò)展名;

3、aar包含jar

打包aar包的時候會自動將lib目錄下的jar打包進(jìn)aar包中。


解壓后libs目錄包含jar文件

4、多個aar合并

因為分層的原因,有多個library工程,這樣就會有多個aar,發(fā)布起來很麻煩,嘗試google了半天,發(fā)現(xiàn)目前都是一個辦法,android-fat-aar,一個gradle腳本,github地址是:https://github.com/adwiv/android-fat-aar 。不過我發(fā)現(xiàn)他支持gradle2.2.X之前的版本,新的3.X版本并不能執(zhí)行。這塊還在繼續(xù)摸索,有知道辦法的大神請指教一下~~~~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容