步驟:
- 解壓
.aar
文件 - 使用
jd-gui
查看源碼并定位到代碼再修改 - 解壓
.aar
文件解壓后產(chǎn)生的classes.jar
文件 - 打包源碼為
classes.jar
- 打包所有文件(
res文件、classes.jar、AndroidManifest.xml
等)為xxx.aar
解壓.aar
文件
$ unzip myLib.aar -d tempFolder
使用jd-gui
查看源碼并定位到代碼再修改
- 進(jìn)入
tempFolder
把里面的classes.jar
復(fù)制出來(lái) - 再使用jd-gui(mac版下載地址:https://github.com/parcool/resources/blob/master/jd-gui-1.4.0.jar windows自行下載)打開(kāi)
classes.jar
找到需要修改的地方,把這個(gè)類的代碼copy出來(lái),在android studio中新建項(xiàng)目,把這個(gè).aar
放到新建libs
文件夾里再引用它,把之前copy出來(lái)的代碼新建一個(gè).java
后粘貼到里面(注意包名也得一樣,部分報(bào)錯(cuò)的代碼需要手動(dòng)修改一下。比如:this
關(guān)鍵字之類的刪掉),改好后build一下,從/build/intermediates/classes/debug/對(duì)應(yīng)包名
找到修改的.class
文件。
解壓.aar
文件解壓后產(chǎn)生的classes.jar
文件
- 解壓
classes.jar
。命令:$ unzip classes.jar -d tempFolderClasses
- 把第二步生成的
.class
文件放到tempFolderClasses
文件夾下對(duì)應(yīng)的地方替換掉以前的.class
文件(大功即將告成)
打包源碼為classes.jar
$ jar cvf newClasses.jar -C tempFolderClasses/ .
(注意斜杠后面加空格與.)
再把這個(gè)newClasses.jar
放回tempFolder
并刪除之前的,修改文件名為classes.jar
打包所有文件(res文件、classes.jar、AndroidManifest.xml
等)為xxx.aar
$ jar cvf newAAR.aar -C tempFolder/ .
作者:v587的毅哥
鏈接:http://www.lxweimin.com/p/f0a267551493
來(lái)源:簡(jiǎn)書
簡(jiǎn)書著作權(quán)歸作者所有,任何形式的轉(zhuǎn)載都請(qǐng)聯(lián)系作者獲得授權(quán)并注明出處。