2013-02-28 51 views
7

我对使用Proguard和Dagger for Android应用程序很陌生,所以如果有人能给我几个提示,我会很感激。使用Proguard和Dagger发布版本时,Android应用程序崩溃

Proguard和Dagger已经实施到应用程序中。当应用程序通过调试模式(即从Eclipse推送)安装时,运行应用程序时没有问题。

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) 

我遵循了建议:https://plus.google.com/108620120050432268974/posts/AAjvwg3Hmgg,通过实施以下为ProGuard的-project.txt:

然而,当我运行该应用程序的发布版本,它具有以下的跟踪崩溃
-keep class * extends dagger.internal.Binding 
-keep class * extends dagger.internal.ModuleAdapter 
-keep class * extends dagger.internal.StaticInjection 

但它似乎并没有解决问题。建议?提前致谢。

回答

0

你有没有把这个加到proguard配置文件中?

-keepattributes *Annotation* 
+0

我确实尝试过,但没有奏效。谢谢你! – ShannonS 2013-04-10 17:45:39

0

看看https://stackoverflow.com/a/18109765/654026以防万一它可以帮助你。在那里你会看到一些关于我的应用程序的proguard配置的细节,这使我在使用Dagger时可以跳过应用程序崩溃。