web-dev-qa-db-ja.com

WebViewを使用してAndroidアプリのWebKitのリモートデバッグ/インスペクターを有効にする方法は?

Androidアプリケーションでデバッグ中にJavaScriptの実行(WebViewウィジェット)を検査する必要があります; SDK&usbケーブルおよび/またはhttp/websocketsを介して;デスクトップコンピューターから(例:chromeデスクトップで実行)。

Webkitのソースには、cppレベルでアクセス可能なDebuggerServer実装(platform_external_webkit\Source\WebKit\Android\wds\DebugServer.cpp)が含まれ、フラグWDSが有効になっている場合(ビルド時に?)にバインドされます。

Source\WebKit\Android\jni\WebCoreFrameBridge.cpp:#if ENABLE(WDS)Source\WebKit\Android\jni\WebCoreFrameBridge.cpp:WDS :: server()-> addFrame(frame);

サーバーのデフォルトポートは9999です

ソースは、機能を有効にするためにすべてが(Cppレベルで)実装されていることを示していますが、Webkitのインスペクターインターフェイスを自動化するadroidデバイスでjavascriptレベルでライブデバッグを使用したエクスペリエンスをWebで検索するリファレンスは見つかりませんでした。

1.-機能はバイナリ形式で存在し、実際のAndroidデバイスで実行されていますか?(WDSフラグを有効にせずにadroidのWebkitのディストリビューションが構築されていますか?:

2.-リモートデバッグ機能をJavaScriptまたはアプリケーションから有効化/使用できますか(Javaレベル)、たとえばアプリの起動時)?

3.- Webkitインスペクター/デバッガー機能を有効にすることが可能な場合、リモートアプリケーションからの対話を可能にする方法は? (たとえば、WebSocketを使用する別のJavaScriptアプリから、またはデスクトップコンピューターではchrome)。

---(https://developers.google.com/chrome-developer-tools/docs/remote-debugging#remote のような仕組みを説明するいくつかの段落がいいでしょう!

このトピックに関する情報や参照を事前に感謝します。 HTML5アプリケーションの最新の開発と満足のいくデバッグ体験を可能にするために、JavaScriptレベルで(デバイス内の)リモートデバッグを有効にすることが重要だと思います。

乾杯、エール。

15
aleReimondo

For Android> = 4.4(KitKat)

Android Chromeを使用)でのリモートデバッグ を参照してください

For Android <4.4(下位バージョン)

非常に優れたオープンソースツールを使用してください: weinre 。使用方法については、 this ビデオを参照してください。 gruntに精通している場合は、 grunt-weinre を使用できます。

クイックビューの場合:

  1. npmを使用してweinreをインストールします
  2. Gruntfileで configuration を実行します。
  3. Weinregruntタスクを実行します。
  4. このスクリプトを使用して、weinreターゲットコードをWebページに挿入します。
  1. ブラウザで http:// localhost:8082 を開くと、スクリプトの上で実行されているデバイスが見つかります。このすべてのデバイスをデバッグできます。

注:モバイルデバイスでwebview/browserをデバッグする場合は、localhostをマシンのIPを実行しているweinreに置き換える必要があります。はい、すべてのデバイスが同じネットワーク上にある必要があります。

7
vinesh
5
Jan

Androidブラウザと weinre プロジェクトをターゲットにしたリモートデバッグを実行できます。または Chromeリモートデバッグ とChrome for Androidブラウザ。私が知る限り、WebViewを直接ターゲットにすることはできませんが、Androidブラウザをターゲットにすると近づくはずです。 。

3
David Chandler

Pre KitKat jsHyBugger うまく機能します(試用版と年間シングルユーザーライセンス€29)

(私は開発者とは関係がありません/ライセンスを購入しました)

0
Bob

デバッガーのバックエンドコードがないため、実行できません。参照しているソースコードはAndroidのwebkitソースのコピーですが、Androidリリースビットにコンパイルされていません。

0
Jan