2011-02-03 31 views
12

Hi All Khi enabing Proguard for android, đồng thời xây dựng các jar ký tôi nhận bãi sau:Android Proguard java.io.IOException: Không thể đọc [proguard.ClassPathEntry

[2011-02-03 11:28:27 - VideoCreator] Proguard returned with error code 1. See console 
[2011-02-03 11:28:27 - VideoCreator] java.io.IOException: Can't read [[email protected]] (No such file or directory) 
[2011-02-03 11:28:27 - VideoCreator] at proguard.InputReader.readInput(InputReader.java:230) 
[2011-02-03 11:28:27 - VideoCreator] at proguard.InputReader.readInput(InputReader.java:200) 
[2011-02-03 11:28:27 - VideoCreator] at proguard.InputReader.readInput(InputReader.java:178) 
[2011-02-03 11:28:27 - VideoCreator] at proguard.InputReader.execute(InputReader.java:100) 
[2011-02-03 11:28:27 - VideoCreator] at proguard.ProGuard.readInput(ProGuard.java:195) 
[2011-02-03 11:28:27 - VideoCreator] at proguard.ProGuard.execute(ProGuard.java:78) 
[2011-02-03 11:28:27 - VideoCreator] at proguard.ProGuard.main(ProGuard.java:499) 

không thể tìm thấy bất cứ điều gì có liên quan trên mạng. Bất kỳ ý tưởng?

Trả lời

7

ProGuard không thể tìm thấy (hoặc đọc) một trong các lọ nhập liệu. Nếu bạn cài đặt ProGuard 4.5.1 thay vì 4.4, nó sẽ in ra tên tệp thích hợp, vì vậy bạn có thể tìm hiểu tại sao nó bị thiếu.

+0

4,7 dường như làm việc tốt quá – scottyab

+3

@ Eric: Ông có thể cung cấp một mẹo về cách đối phó với các lỗi sau: java.io.IOException: Không thể đọc [C: \ Users \ myname \ AppData \ Local \ Temp \ 'E: \ Program Files \ android-sdks \ platforms \ android-15 \ android.jar'] (Không có tệp hoặc thư mục nào)? Tôi tự hỏi tại sao C: \ Users \ myname \ AppData \ Local \ Temp \ được sử dụng. – Hong

5

Tải xuống ProGuard mới nhất và thay thế thư mục lib hiện có trong thư mục công cụ sdk cơ sở của bạn (ví dụ: c:/android-sdk/tools/proguard) bằng thư mục mới bạn đã tải xuống.

Giống như Eric đã nói, sau đó nó sẽ cho bạn biết những gì còn thiếu. Nhiều hơn khả năng bạn đã sử dụng đường dẫn sai trong lệnh -libraryjars. Thử xóa

2

Kiểm tra xem bạn có dấu cách trong tên đường dẫn của .jar. Tôi vừa gặp phải vấn đề tương tự, nâng cấp lên ProGuard 4.6 và có thêm thông tin trong thông báo lỗi nhưng vấn đề vẫn tồn tại. Sau đó, tôi nghĩ có lẽ đó là vì không gian trong tên đường dẫn của tôi, tôi đã thay thế tất cả các ký tự khoảng trống trong tên đường dẫn thành "-", ProGuard đã hoạt động trở lại như một nét duyên dáng :)

3

Cập nhật ProGuard đã giúp theo dõi sự cố. Trong trường hợp của tôi, nó đã được làm với cấu hình JDK trên máy Mac của tôi và các tập tin rt.jar và jsse.jar không được đặt ở vị trí thông thường.

Tôi đã tìm thấy giải pháp here.

cd $JAVA_HOME/lib 
sudo ln -s ../../Classes/classes.jar rt.jar 
sudo ln -s ../../Classes/jsse.jar . 
+0

Tôi xác nhận sự cố và giải pháp này trên Mac – Pascal

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