Android以maven方式提供SDK,有關(guān)SDK內(nèi)aar引用處理

因業(yè)務(wù)需求,我們會遇到需要開發(fā)SDK提供給外部使用,有可能是公司內(nèi)部其他部分或者是對外的SDK。一般有兩種方式:aar和maven。

例如module C 為SDK核心代碼,為了隔離module C對外接口,方便混淆,module B 通過api方式依賴module C 的maven,相當(dāng)于包一層殼,只需要對外提供module B 的maven即可。

module C需要對libs目錄下的jar和xxx.aar引用進(jìn)行處理。

1、module C 引用jar可以通過implementation方式,會和module C一起打包進(jìn)maven 生成的aar中。

2、module C 引用xxx.aar則可通過compileOnly方式引用,確保編譯不出錯。如果xxx.aar也通過implementation方式引用,雖然上傳到maven不會出錯,但module C被依賴時,則會出現(xiàn)問題,因為implementation方式引用xxx.aar是不會被打包進(jìn)maven生成的aar。

完成上述操作后,module B 通過 api 的方式依賴 module C對應(yīng)的maven。

最后將module B 生成的maven 和module C 中的xxx.aar一并提供給接入方。接入方可以在libs目錄下添加xxx.aar,然后通過implementation方式引用xxx.aar。

最后編輯于
?著作權(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)容