Also, ich habe eine Drittanbieter-Bibliothek, die eine .jar-Datei ist. Es gibt einige Klassen in diesem Jar. Das Problem ist, dass es in dieser Klasse einen Fehler in dieser .jar gibt. Ich weiß es, weil ich die JAR-Datei dekompilieren kann, um den Java-Code zu betrachten, was ich ziemlich sicher bin, dass die Klasse die Quelle meines Programmfehlers ist.
Die Idee ist, ich lösche die Klasse und ersetze sie durch meine eigene Klasse, aber ich weiß nicht wie.
Es gibt mehrere Möglichkeiten, dies zu tun:
Versuche winrar zu benutzen. Sie können Ihr jar darin öffnen und das Verzeichnis mit der Klassendatei erkunden. Sie können Klassendateien löschen und hinzufügen.
Wenn Sie das Glas nicht verwenden möchten, dann mögen Sie das:
Extrahiere das Glas mit diesem Befehl
jar -xvf yourjar.jar
Es wird das Glas explodieren. Löschen Sie die alte Klassendatei und fügen Sie Ihre aktualisierte Klassendatei hinzu
Erstellen Sie das Jar erneut mit dem folgenden Befehl
jar -cvf yourjar.jar directoryofexploderjar /
Schreiben Sie Ihre eigene Klasse in das gleiche Paket wie die ursprüngliche, stellen Sie sicher, dass sich Ihre Klassen vor dem 3rd-Party-Jar im Java-Klassenpfad befinden. Auf diese Weise überschreiben Sie die ursprüngliche Version, der Klassenlader lädt Ihre Klasse.
Tags und Links java android jar decompiling