2012-02-01 51 views
8

Tôi có tệp .jar. Tôi đã thử chạy lệnh jar xf my.jar nó không có gì. Tôi đã thử sử dụng JD GUI, nhưng nó đã cho tôi thông báo này: Tệp đầu vào không hợp lệ '/home/hey/Desktop/my.jar'.Cách trích xuất các lớp từ tệp .jar?

Có nghĩa là tôi không thể trích xuất các lớp từ tệp .jar này?

+0

Tôi đã cố gắng chạy jar lệnh jd-gui -xvf tools.jar, nó hoạt động. Tôi nghĩ my.jar của bạn bị hỏng hoặc không được lưu trữ ở định dạng tệp jar. – Alanmars

Trả lời

9

Bạn có thể mở tệp jar bằng winrar, điều này sẽ hiển thị tất cả các tệp lớp bên trong, từ đó, bạn có thể kéo tất cả chúng vào JD-GUI và dịch ngược tất cả chúng.

+0

Lưu trữ: /home/hey/Desktop/my.jar [/home/hey/Desktop/my.jar] Không tìm thấy chữ ký cuối thư mục trung tâm. Tệp này không phải là một tệp zip hoặc nó tạo thành một đĩa lưu trữ nhiều phần. Trong trường hợp sau , thư mục trung tâm và nhận xét zipfile sẽ được tìm thấy trên (các) đĩa cuối cùng của bản lưu trữ này. lưu ý: /home/hey/Desktop/my.jar có thể là tệp thực thi đơn giản, không phải là tệp lưu trữ zipinfo: không thể tìm thấy thư mục zipfile ở một trong /home/hey/Desktop/my.jar hoặc /home/hey/Desktop /my.jar.zip và không thể tìm thấy /home/hey/Desktop/my.jar.ZIP, dấu chấm. –

+0

Nhấp chuột phải vào bình và chọn 'Open With ...' từ đó, bạn có thể chọn Winrar từ Program Files của bạn. –

10

Nếu bạn muốn trích xuất một tập tin từ tập tin Jar, sử dụng lệnh sau:

jar xf jar-filename archived-files

Tùy chọn x chỉ ra chúng tôi muốn trích xuất các file, tùy chọn f chỉ từ tệp jar, jar-filename là tên tệp của tệp jar để trích xuất từ ​​và t anh ta archived-files là các tệp cần trích xuất.

Chúng tôi cũng có thể trích xuất tất cả các file bằng cách đơn giản không chỉ định những file nào để trích xuất:

jar xf project.jar

Lưu ý: Nếu nó không phải là bể làm giống như @Legend nói, Open WithWinRAR kiểm tra thời tiết đó là thích hợp .jar hoặc .zip tệp. Nếu nó không mở với winrar có thể có vấn đề trong .jar/.zip.

2

cho người dùng Linux

unzip your.jar 
5

Làm sao bạn tạo file .jar của bạn?

tôi chỉ sử dụng Dex2Jar trên MAC OSX như vậy -

sudo sh ~/Downloads/dex2jar-2.0/d2j-dex2jar.sh ~/mobile/pjr.mob.android/obj/Debug/android/bin/classes.dex --force 

và file kết quả có một vấn đề cho phép, vì vậy khi tôi đã đi để mở nó với JD GUI nó đã cho các "fileloader đầu vào không hợp lệ:" lỗi bạn đã đề cập ở trên.

Nếu bạn làm một -

sudo chmod + xr ~/Downloads/dex2jar-2.0/classes-dex2jar.jar

Sau đó bạn sẽ có thể mở nó trong JD GUI.

+0

Tôi không nghĩ rằng có một tệp có tên "classes-dex2jar.jar" trong thư mục đó. Làm thế nào bạn có được điều đó? –

+0

Nhìn vào đầu ra của lệnh trên khi bạn chạy nó trên máy tính của bạn, tệp nguồn .dex của tôi là "classes.dex" tự động trở thành ./classes-dex2jar.jar (trong thư mục bạn đã chạy lệnh trên). – WickedW

0

Câu trả lời của WickedW là chính xác!

sudo chmod +xr *.jar 

sau đó bạn có thể mở jar với

Các vấn đề liên quan