2013-07-25 41 views
5

Tôi đã tải xuống báo cáo sự cố từ khu vực quản trị Google Play của ứng dụng, chạy qua retrace.sh để giải mã bản đồ Proguard và nó tạo ra kết quả dưới đây.Làm cách nào để bạn giải thích báo cáo sự cố Android bị lỗi thời?

Câu hỏi:

Unknown Source là gì?

showHeader, showPhoto, v.v. thực sự là các phương pháp trong lớp SummaryFragment của tôi, nhưng tại sao chúng được liệt kê theo thứ tự được hiển thị? Các phương thức này không tuân theo bất kỳ loại lệnh logic hoặc thực thi nào trong mã của tôi.

Trong đó phương pháp NPE thực sự được ném?

Caused by: java.lang.NullPointerException 
at com.myapp.SummaryFragment.selectMenuItemAuth(Unknown Source) 
              showHeader 
              photoButtonClicked 
              showPhoto 
              nameButtonClicked 
              deleteByID 
              access$0 
at com.myapp.SummaryFragment.onActivityCreated(Unknown Source) 
at android.support.v4.app.Fragment.performActivityCreated(Unknown Source) 
at android.support.v4.app.FragmentManagerImpl.moveToState(Unknown Source) 
               moveToState 
               moveToState 
               moveToState 

Trả lời

7

ProGuard đã loại bỏ các thuộc tính tùy chọn SourceFile và LineNumberTable khỏi ứng dụng bị làm mờ. Kết quả là, các dấu vết ngăn xếp không có số dòng, gây ra một số sự mơ hồ. ReTrace in ra một danh sách các lựa chọn thay thế có thể cho mỗi dòng của dấu vết ngăn xếp.

Bạn có thể nhận được dấu vết ngăn xếp được dễ dàng hơn để giải thích bằng cách thêm các dòng sau vào proguard-project.txt của bạn:

-renamesourcefileattribute MyApplication 
-keepattributes SourceFile,LineNumberTable 

Xem hướng dẫn ProGuard> retrace>Usage.

Xem hướng dẫn sử dụng ProGuard> Ví dụ>Producing useful stack traces