6

WebViewClient の独自の拡張バージョンで onReceivedSslError を処理するために、アプリケーション ソース ディレクトリにファイル android.webkit.WebViewClient のバージョンがあります。sdk-7 で新しい ProGuard 統合を使用すると、次の警告が表示されます。

[proguard] Warning: library class android.webkit.WebView depends on program class android.webkit.WebViewClient

...

 [proguard] Warning: there were 1 instances of library classes depending on program classes.
 [proguard]          You must avoid such dependencies, since the program classes will
 [proguard]          be processed, while the library classes will remain unchanged.

私のproguard.cfgでこれを修正する方法を誰か教えてもらえますか? ありがとう :)

4

3 に答える 3

23

私は同じ問題に遭遇し、上記のヒントにより、これらの行を書き込ん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
于 2012-11-06T10:51:31.160 に答える
0

proguard.cfg または proguard-project.txt ファイルに以下を追加してみてください。

-dontwarn android.webkit.WebView
于 2012-04-11T22:58:18.147 に答える
0

これは少し遅いかもしれませんが、同じ問題がありました。WebView2.2 より前の Androidで SSL 接続をサポートする必要がありました。

次の手順で、proguard を使用して apk を正常にビルドできました。

  • コメントで述べたように-ソースから削除し、代わりに独自のクラスを作成し、内部のメソッドのみでandroid.webkit.WebViewClientオリジナルを拡張します(オーバーライドなし)。WebViewClientonRecieveSslError

  • WebViewClient既存の使用法を新しいものに置き換える

  • SslErrorSDK 7 以前ではオープン API に存在しないため、変更しないでおくことができます。そのため、プロガードはそれに気づきません。

それでおしまい。

于 2012-05-05T13:44:12.453 に答える