2013-02-28 49 views
7

Tôi mới sử dụng Proguard và Dagger cho ứng dụng Android, vì vậy tôi thực sự đánh giá cao nếu ai đó có thể cho tôi một vài gợi ý.Ứng dụng Android gặp sự cố khi sử dụng Proguard và Dagger

Proguard và Dagger đã được triển khai trong ứng dụng. Khi ứng dụng được cài đặt thông qua chế độ gỡ lỗi (tức là được đẩy từ Eclipse), không có vấn đề gì khi chạy ứng dụng. Tuy nhiên, khi tôi chạy việc xây dựng phiên bản của ứng dụng, nó bị treo với dấu vết sau:

No injectable members on com.example.test.d. Do you want to add an injectable constructor? required by com.example.test.d com.example.test.SampleActivity.a 
No injectable members on com.b.a.b. Do you want to add an injectable constructor? required by com.b.a.b com.example.test.SampleActivity.b 
    at dagger.internal.h.a(ThrowingErrorHandler.java:34) 
    at dagger.internal.Linker.a(Linker.java:136) 
    at dagger.d.a(ObjectGraph.java:264) 
    at dagger.d.a(ObjectGraph.java:238) 
    at com.example.test.SampleApplication.a(SampleApplication.java:24) 

Tôi đã theo những gợi ý từ: https://plus.google.com/108620120050432268974/posts/AAjvwg3Hmgg, bằng cách thực hiện những điều sau đây vào Proguard-project.txt:

-keep class * extends dagger.internal.Binding 
-keep class * extends dagger.internal.ModuleAdapter 
-keep class * extends dagger.internal.StaticInjection 

nhưng dường như không khắc phục được sự cố. Gợi ý? Cảm ơn trước.

Trả lời

0

Bạn đã thêm tệp này vào tệp cấu hình proguard chưa?

-keepattributes *Annotation* 
+0

Tôi đã thử điều này, nhưng nó không hoạt động. Cảm ơn bạn mặc dù! – ShannonS

0

Hãy xem https://stackoverflow.com/a/18109765/654026 chỉ trong trường hợp nó giúp bạn. Ở đó bạn sẽ thấy một số chi tiết về cấu hình proguard cho ứng dụng của tôi cho phép tôi bỏ qua sự cố ứng dụng khi sử dụng Dagger.

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