我认为我理解了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配置中添加哪些规则来纠正这些警告提醒我的问题?
答案 0 :(得分:2)
您的某些库指的是目标运行时或其他库中缺少的方法或类,例如: org.joda.convert.FromString。如果你的应用程序运行正常,你可以告诉ProGuard它没关系。例如:
-dontwarn org.joda.**
请参阅ProGuard手册>疑难解答> Warning: can't find referenced class