我的应用程序源目录中有一个文件android.webkit.WebViewClient的版本,以便在我自己的WebViewClient扩展版本中处理onReceivedSslError。当我在sdk-7中使用新的ProGuard集成时,我收到以下警告:
[proguard]警告:库类android.webkit.WebView依赖于程序类android.webkit.WebViewClient
...
[proguard]警告:根据程序类,有1个库类实例。 [proguard]你必须避免这种依赖,因为程序类会 [proguard]被处理,而库类将保持不变。
有谁能告诉我如何在我的proguard.cfg中解决这个问题?谢谢:))
答案 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不会注意到它。
就是这样。