修改 aar 包内 class 文件并重新打包

时间:2024-03-21 17:18:10

 1.将 .aar 文件重命名为 .zip 文件并解压

 

修改 aar 包内 class 文件并重新打包

    解压完成的目录如上图,其中java的代码在class.jar中,其他的为资源文件和清单文件

 

2.将解压得到的 classes.jar 文件重命名为 .zip 文件并解压    

修改 aar 包内 class 文件并重新打包

  class.jar后缀换成.zip解压后得到 的文件为.class后缀的文件 接下来需要将要修改的文件转换成后缀为.java文件然后进行修改

 

 3.把java的class文件转成java文件

        

(1)下载一个反编译工具,本人在网上下载工具如下:

           下载地址:http://varaneckas.com/jad/  我下载的是第一个

修改 aar 包内 class 文件并重新打包

 

 (2)放到任意目录解压。

 

修改 aar 包内 class 文件并重新打包

 (3)打开命令窗口,进入到解压的工具的目录

        我的文件解压在目录:D:\fan_bian_yi\jad158g.win

        win+R,输入cmd 点击回车,进入命令窗口,输入: D: ,点击回车进入D盘。 输入cd fan_bian_yi\jad158g.win,点击进  入工具目录

修改 aar 包内 class 文件并重新打包

(4)在工具目录下随便新建一个文件夹(我的是text),把class文件放进文件夹

修改 aar 包内 class 文件并重新打包

(5)命令窗口输入命令:jad -o -r -s java -d src text/**/*.class

修改 aar 包内 class 文件并重新打包

回到目录D:\fan_bian_yi\jad158g.win下,src文件夹下就是反编译的java文件 

完成!这样就可以对java文件进行修改了

注:

 jad命令的参数含义如下:
       -o:覆盖旧文件,而且不用提示确认。
       -r:重新加载生成包结构。
       -s (java):定义输出文件的扩展名。jad为默认扩展名,我们反编译后当然是要.java源文件了。
       -d:输出文件的目录。src表示反编译后的所有文件都放在src目录下。
       classes/**/*.class:classes是需要反编译的文件夹的名字,整个表示classes目录下的所有class文件。你也可以写成这样**/*.class,这表示当前目录及其子目录下所有的class文件(包含所有的子目录)。

4 修改完成之后将 .java文件 再还原回 .class 方式,参照下面博客即可;

 

https://blog.csdn.net/u010931123/article/details/80781956

 

5.替换目标 class 文件

6.压缩 class 文件夹至 classes.jar 文件并重命名为 clasess.jar

 

7.将刚解压 .aar 文件得到的目录下的 classes.jar 进行替换,并重新压缩重命名为 .aar 文件

到此整个过程就结束了