2012-04-07 3 views
4

WebViewClientの独自の拡張バージョンでonReceivedSslErrorを処理するために、アプリケーションのソースディレクトリにファイルandroid.webkit.WebViewClientのバージョンがあります。proguard警告ライブラリクラスandroid.webkit.WebViewはプログラムクラスに依存します。android.webkit.WebViewClien

[ProGuardの]警告:android.webkit.WebViewはプログラムクラスandroid.webkit.WebViewClient

に依存ライブラリクラス...

私はSDK-7の新しいProGuardの統合を使用すると、私は次の警告を取得します

[proguard]警告:プログラムクラスに応じてライブラリクラスのインスタンスが1つありました。 [proguard]プログラムクラスは [proguard]に処理されますが、ライブラリクラスは変更されないため、このような依存関係は避けてください。

誰も私のproguard.cfgでこれを修正する方法を教えてもらえますか?感謝:)あなたproguard.cfgやProGuardの-project.txtファイルに次のように追加し

+0

あなたのソースディレクトリにライブラリのクラスを配置する必要はありません。あなたはフレームワーククラスを直接拡張できませんか? –

+0

残念ながら、私はFroyoの前にOSのためにここに記述されているバグを回避しようとしています。http://damianflannery.wordpress.com/2010/09/28/android-webview-with-https-loadurl-shows-blankempty-page/いくつかのプライベートapis、私は単にクラスを拡張することはできません:( – user1318700

答えて

19

私は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 
+0

私のために働いた。ありがとう – SimplyProgrammer

0

試してみてください。

-dontwarn android.webkit.WebView 
0

これ多分少し遅れたが、私は同じ問題を持っていました。私はWebViewで2.2未満のアンドロイドでSSL接続をサポートする必要がありました。

私は、次のことで成功しProGuardのでAPKを構築することができました:

  • コメントで言ったように - 、あなたのソースからandroid.webkit.WebViewClientを削除する代わりに、独自のクラスを作成し、内部のみonRecieveSslError方法で、元WebViewClientを拡張(なしオーバーライド)。

  • 新しいもの

  • SslErrorで既存のWebViewClient使用を置き換えるには、SDK 7であるため、変更されないまま、それがオープンAPIに存在しないので、ProGuardのがそれに気づかないだろう下げることができます。

これだけです。

関連する問題