【问题标题】:can't find referenced method 'void setPluginsEnabled(boolean)' in class android.webkit.WebSettings在类 android.webkit.WebSettings 中找不到引用的方法 'void setPluginsEnabled(boolean)'
【发布时间】:2013-08-21 14:31:36
【问题描述】:

我正在尝试使用 Proguard 和 Eclipse 编译我的应用程序,但出现以下错误:

Warning: com.adsdk.sdk.mraid.AdView: can't find referenced method 'void setPluginsEnabled(boolean)' in class android.webkit.WebSettings
Warning: com.adsdk.sdk.video.WebFrame: can't find referenced method 'void setPluginsEnabled(boolean)' in class android.webkit.WebSettings

这些类似乎是depreciated in 4.3,而similar post in another random forum 表明解决方案是将目标改回17 并针对4.2 进行编译。

当然这不是唯一的解决方案....?

我尝试在 Proguard 配置文件中添加相关的警告代码删除和保留类成员等,但无济于事。

有什么想法吗?

编辑:我没有在我的代码中直接使用这些类 - 它们是从 Admob SDK Jar 中引用的

【问题讨论】:

    标签: android admob proguard


    【解决方案1】:

    事实证明,这对我来说是一个非常简单的解决方法。您需要将以下内容添加到您的 Proguard 配置文件中:

    -dontwarn android.webkit.**
    

    我以前包括:

    -dontwarn android.webkit.WebSettings.**
    

    但这是错误的,因为它是一个方法,而不是我相信的一个类。

    希望这对可能像我一样被卡住的人有所帮助。

    【讨论】:

    • 您还可以使用-dontwarn android.webkit.WebSettings 更准确地仅忽略来自Websettings 类的警告,而不是android.webkit. 包中的所有类,这是您的第一个选项过滤掉的。第二个选项不起作用的原因是因为您试图过滤包android.webkit.WebSettings. 中的类,这当然是一个类而不是一个包。对于任何想知道的人,如果你想过滤一个内部类,语法是Websettings$Innerclass。 Proguard 文档肯定很难破译。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-15
    相关资源
    最近更新 更多