逆向編程 - 手動合并2個或2個以上第三方AAR文件(詳細(xì)步驟)

使用工具:

1、android studio 3.4.1

2、Beyond Compare

3、windows 需要一把趁手的命令行工具

比如項(xiàng)目用到了兩個第三方AAR文件,如圖:

項(xiàng)目中用到了兩個jar

1、首先來了解一下AAR文件的結(jié)構(gòu)

- 通過命令進(jìn)行AAR文件解壓

?unzip account-util.aar -d account-util

?unzip log_util.aar -d log_util

解壓兩個aar文件是這樣的

解壓后看到以下內(nèi)容是必須包含的:

/AndroidManifest.xml

/classes.jar

/res/

/R.txt

此外,根據(jù)打包的 Library Module 情況不同,打包出來的 AAR 文件也可能包含以下內(nèi)容:

/assets/

/libs/名稱.jar

/jni/abi 名稱/名稱.so(其中 abi 名稱 是 Android 支持的 ABI 之一)

/proguard.txt

/lint.jar

2、手動合并AAR(新建目錄將對應(yīng)文件進(jìn)行合并)

將兩邊的文件放入新建的目錄里面,需要注意的是 AndroidManifest.xml 與 R.txt 文件以及 res中的value.xml文件需要Beyond Compare工具進(jìn)行對比合并如下圖:


合并文件

3、合并classes.jar

命令進(jìn)行解壓兩個aar中的classes.jar文件

jar -xvf classes.jar

并進(jìn)行合并到一個目錄下,如下圖


合并classes.jar內(nèi)容

命令進(jìn)行打包成一個新的jar(注意后面的符號.

jar -cvfM classes.jar .


生成新的classes.jar

4、將新的jar合并到之前的大目錄里面,并進(jìn)行打包新的aar文件


合并兩個aar完畢

命令進(jìn)行打包aar(注意后面的符號.

jar cvf aar_util.aar -C aar_util/ .


打包出新的aar文件

5、引入項(xiàng)目使用


成功引用,oye

一切順利,success!下節(jié)講如何修改classes.jar中的二進(jìn)制內(nèi)容!

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

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