如何删除.jar文件中的类文件并使用我自己的实现进行更改

时间:2013-05-29 05:26:35

标签: java android jar decompiling

所以,我有第三方库,这是一个.jar文件。那个罐子里有一些类。问题是,.jar中的一个类中有一个错误。我知道,因为我可以反编译jar文件,查看java代码,我很确定,该类是我的程序错误的来源。

这个想法是,我删除了这个类并用我自己的类替换它,但我不知道怎么做。

3 个答案:

答案 0 :(得分:12)

有多种方法可以做到这一点:

  1. 尝试使用winrar。您可以在其中打开jar,浏览包含类文件的目录。您可以删除和添加类文件。

  2. 如果您不想使用winrar,请执行以下操作:

  3. 使用此命令提取jar

      

    jar -xvf yourjar.jar

    它会爆炸罐子。删除旧的类文件并添加更新的类文件

    使用以下命令重新创建jar

      

    jar -cvf yourjar.jar directoryofexploderjar /

答案 1 :(得分:1)

  1. 扩展类和重写方法,删除错误

  2. 使用JDEC反编译并替换类(http://jdec.sourceforge.net/

答案 2 :(得分:0)

将您自己的类编写在与原始类相同的包中,确保您的类位于java类路径上的第3方jar之前。这样你就会覆盖原始版本,类加载器会加载你的类。