当前位置:   article > 正文

修改第三方.aar/.jar,重新打包_android studio 修改第三方aar

android studio 修改第三方aar

步骤

  • 解压.aar文件
  • 使用jd-gui查看源码并定位到代码再修改
  • 解压.aar文件解压后产生的classes.jar文件
  • 打包源码为classes.jar
  • 打包所有文件(res文件、classes.jar、AndroidManifest.xml等)为xxx.aar

解压.aar文件

$ unzip myLib.aar -d tempFolder

使用jd-gui查看源码并定位到代码再修改

  1. 进入tempFolder把里面的classes.jar复制出来
  2. 使用jd-gui 打开classes.jar 找到需要修改的地方,把这个类的代码copy出来,在android studio中新建项目,把这个.aar放到新建libs文件夹里再引用它,把之前copy出来的代码新建一个.java后粘贴到里面(注意包名也得一样,部分报错的代码需要手动修改一下。比如:this关键字之类的删掉),改好后build一下.
    从/build/intermediates/classes/debug/对应包名 找到修改的.class文件。

/build/intermediates/javac/debug/对应包名 下

解压.aar文件解压后产生的classes.jar文件

  1. 解压classes.jar。
$ unzip classes.jar -d tempFolderClasses
  1. 把第二步生成的.class文件放到tempFolderClasses文件夹下对应的地方替换掉以前的.class文件(大功即将告成)

打包源码为classes.jar

$ jar cvf newClasses.jar -C tempFolderClasses/ .

(注意斜杠后面加空格与.)
再把这个newClasses.jar放回tempFolder并删除之前的,修改文件名为classes.jar

打包所有文件(res文件、classes.jar、AndroidManifest.xml等)为xxx.aar

$ jar cvf newAAR.aar -C tempFolder/ .

完成!

windows,把上面替换class的步骤换成了用7-zip来替换:改classes.jar为classes.zip,再用7-zip打开,把改好后的class文件拖进去,再执行最后一步打包aar操作就ok了。

 

[jd-gui 下载](https://github.com/java-decompiler/jd-gui/releases)

[修改第三方.aar后重新打包](https://www.jianshu.com/p/f0a267551493)
[修改 jar代码,并重新打包jar](https://blog.csdn.net/tanrt/article/details/68951643)

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/626699
推荐阅读
相关标签
  

闽ICP备14008679号