【问题标题】:Can't find referenced class / Can't find referenced method找不到引用的类/找不到引用的方法
【发布时间】:2014-09-28 09:15:22
【问题描述】:

我以为我有点理解 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:找不到引用 类 android.webkit.JavascriptInterface

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

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

【问题讨论】:

    标签: android proguard


    【解决方案1】:

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

    -dontwarn org.joda.**
    

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

    【讨论】:

    • 嘿,埃里克,感谢您的回复。单击该链接只会将我带到 Proguard 主页?!您是否知道我如何从主页导航到该链接?
    猜你喜欢
    • 1970-01-01
    • 2013-05-16
    • 2023-03-10
    • 1970-01-01
    • 2016-09-30
    • 1970-01-01
    • 2023-03-22
    • 1970-01-01
    • 2017-09-13
    相关资源
    最近更新 更多