proguard警告库类android.webkit.WebView依赖于程序类android.webkit.WebViewClien

时间:2012-04-07 06:50:45

标签: android proguard webviewclient

我的应用程序源目录中有一个文件android.webkit.WebViewClient的版本,以便在我自己的WebViewClient扩展版本中处理onReceivedSslError。当我在sdk-7中使用新的ProGuard集成时,我收到以下警告:

[proguard]警告:库类android.webkit.WebView依赖于程序类android.webkit.WebViewClient

...

[proguard]警告:根据程序类,有1个库类实例。  [proguard]你必须避免这种依赖,因为程序类会  [proguard]被处理,而库类将保持不变。

有谁能告诉我如何在我的proguard.cfg中解决这个问题?谢谢:))

3 个答案:

答案 0 :(得分:21)

我遇到了同样的问题,并且通过上面的提示, 我将这些行写入proguard.cfg,问题就解决了:

-keep public class android.net.http.SslError
-keep public class android.webkit.WebViewClient

-dontwarn android.webkit.WebView
-dontwarn android.net.http.SslError
-dontwarn android.webkit.WebViewClient

答案 1 :(得分:0)

尝试在proguard.cfg或proguard-project.txt文件中添加以下内容:

-dontwarn android.webkit.WebView

答案 2 :(得分:0)

这可能有点晚了,但我遇到了同样的问题。我需要在低于2.2的机器人WebView上支持SSL连接。

我能够通过以下方式成功构建带有proguard的apk:

  • 如评论中所述 - 从您的来源中删除android.webkit.WebViewClient,而是创建您自己的类并使用WebViewClient方法扩展原始onRecieveSslError(无覆盖)。

  • 将现有WebViewClient用法替换为新用途

  • SslError可以保持不变,因为在SDK 7及更低版本中,它在开放API中不存在,因此proguard不会注意到它。

就是这样。