无法找到引用的类/无法找到引用的方法

时间:2014-08-05 16:03:08

标签: android proguard

我认为我理解了keep规则,但我想我不是!我的proguard配置文件中有以下形式的一些规则:

-keep class de.neom.neoreadersdk.** { *; }
-keep class org.joda.** { *; }
-keep class com.google.** { *; }
-keep class android.** { *; }

我希望上述软件包中的所有类和类成员都不会被混淆(即名称不被proguard修改)。但是,我在运行proguard时会看到以下警告(还有更多):

  

... [proguard]警告:com.google.android.gms.internal.es:无法找到   引用的方法' void setMediaPlaybackRequiresUserGesture(boolean)'   在类android.webkit.WebSettings

中      

... [proguard]警告:   de.neom.neoreadersdk.Viewfinder14View $ AdView:无法找到引用   class android.webkit.JavascriptInterface

     

... [proguard]警告:   org.joda.time.DateMidnight:无法找到引用的类   org.joda.convert.FromString

我应该担心这些警告吗?我应该在我的proguard配置中添加哪些规则来纠正这些警告提醒我的问题?

1 个答案:

答案 0 :(得分:2)

您的某些库指的是目标运行时或其他库中缺少的方法或类,例如: org.joda.convert.FromString。如果你的应用程序运行正常,你可以告诉ProGuard它没关系。例如:

-dontwarn org.joda.**

请参阅ProGuard手册>疑难解答> Warning: can't find referenced class