簡體   English   中英

Android App使用Proguard和Dagger在Release Build上崩潰

[英]Android App crashes on Release Build with the use of Proguard and Dagger

我是初次使用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

但它似乎沒有解決問題。 建議? 提前致謝。

Proguard和dagger(pre)-compilation在發布版本中似乎不能很好地協同工作。 請參閱https://plus.google.com/117210567825404150882/posts/HGjnJJHbfMj

“問題”是將非混淆的包名稱編譯到類中。

你有沒有把它添加到proguard配置文件中?

-keepattributes *Annotation*

看看https://stackoverflow.com/a/18109765/654026 ,以防萬一它可以幫到你。 在那里,您將看到有關我的應用程序的proguard配置的一些詳細信息,這使我可以在使用Dagger時跳過應用程序崩潰。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM