2013-04-26 31 views
7

Ứng dụng của tôi chạy hoàn hảo mà không cần phải bật chế độ bảo vệ nhưng khi tôi bật ứng dụng đó sẽ bị treo ngay lập tức. Tôi đã thử nhiều kết hợp trong cấu hình để không có kết quả.App Crashing Với Proguard Enabled

Có điều gì mà tôi nên lưu ý rằng tôi bị thiếu không?

Proguard config: https://gist.github.com/hanleyhansen/99fc07807950bae8e4f5

log không khó hiểu: https://gist.github.com/hanleyhansen/6cba7fc941a79d85802f

onSuccess(): https://gist.github.com/hanleyhansen/e7a4916c42d3ca065c99

+0

Bạn có thể tắt chế độ làm xáo trộn nhưng để các tùy chọn khác (tối ưu hóa, loại bỏ phương pháp) được bật không? Nếu nó vẫn thất bại, bạn sẽ có thể thấy chính xác nơi nó đang phá vỡ. – fadden

+0

@fadden Ý tưởng hay. Tôi sẽ làm như thế nào? – hanleyhansen

+1

Bạn có thể theo dõi dòng nào trong 'onSuccess()' ném NPE không? –

Trả lời

6

Tôi đã tìm thấy mã vi phạm. Tôi đã thay đổi Proguard.cfg tôi để phù hợp với những điều sau đây:

https://github.com/google/gson/blob/9f8ace9ac4c56b82eba1bbd8b44f80e042bda7e0/examples/android-proguard-example/proguard.cfg

Và bây giờ tất cả mọi thứ đang làm việc!

+1

có vẻ như liên kết bị hỏng, việc "lưu trữ SVN đã bị vô hiệu hóa vĩnh viễn" –

+0

Vâng, sẽ rất tuyệt nếu bạn chỉ đính kèm mã bạn đã sử dụng. –

+0

Tôi không biết bản sửa đổi nào, nhưng tệp có tại https://github.com/google/gson/commits/master/examples/android-proguard-example/proguard.cfg – Lev

3

Thường Proguard loại bỏ vài lớp học nếu họ không rõ ràng thiết lập như

-keepclassmembers .... 

Nhưng như vậy lỗi được hiển thị là classNotFound, NoSuchMethodException vv ..,

Dù sao giải mã con mèo đăng nhập bạn đã sử dụng this và kiểm tra xem điều gì thực sự gây ra NPE.

+0

Công cụ tuyệt vời! Ok tôi cập nhật câu trả lời của tôi với bãi chứa không bị che khuất. – hanleyhansen

+1

Tôi đã có thể khắc phục! – hanleyhansen

+0

Hoặc vì vậy tôi nghĩ .... tôi đã cập nhật câu hỏi của tôi với mã mới của tôi. – hanleyhansen