AndroidStudio library module reference .aar

這幾天在做項目打包 library 的時候遇到一個問題,由于之前一直是將 library module打包成 Jar 包被 app 和其他 library module 引用,所以項目編譯和運行都正常工作。但是現(xiàn)在對 sdk library 做了一些改動,在 res/ 目錄下新增了一個 xml 文件,這就造成打包出來的 jar 用在項目中編譯會出錯,找不到對應的 res 文件。網(wǎng)上查閱資料發(fā)現(xiàn)打包成 .aar 可以包含class和res資源文件,但后面接連踩了一系列的坑, 所以也就有了本文的開始:

一. 打包成 .aar 包

有兩種方式: 1.編寫task執(zhí)行打包操作;2.手動在項目中找到aar包并重命名

1.在編寫task執(zhí)行打包操作: 注:libraryModule為需要引用 .aar包的一個 library module

(1).在需要打包的 module(該 module應該是一個library) 目錄下的build.gradle中實現(xiàn)一個task -> make AAR, 代碼如下圖:

task makeAAR

(2).然后在 AS 的Terminal 或 cmd 命令行執(zhí)行 $: gradle makeAAR;然后在libraryModule/build/libs/目錄下找到對應的? aar包:


.aar 包輸出目錄

(3) 引用.aar 包

首先將打包出來的 .aar 包拷貝到需要引用的 module name/libs/ 目錄下;然后在需要引用的 app module或者是 library module的build.gradle中做如下操作:


引用 .aar 包

(4). 如果該 library 還被 app module引用,name還需要在 app module 的build.gradle中加上:

repositories {

flatDir {

dirs'libs'

? ? }

}

(5).完成以上操作后執(zhí)行 build ->Rebuild Project操作即可。

2.手動在項目中找到aar包并重命名

只需要省去以上 1 中的第一步,在第二步中的 libraryModule/build/outputs/aar/? 目錄下找到對應的 .aar 并重命名將其拷貝到所需module的libs 目錄下,再執(zhí)行 1 中剩下的其他操作。

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

相關閱讀更多精彩內容

友情鏈接更多精彩內容