8

私のアプリは Android ネイティブ、html5 の組み合わせです。先週まで、WebView 内で実行されているネイティブ コードと JavaScript コードからのログ メッセージを確認できました。しかし、突然 Logcat が javascript からのコンソール メッセージを表示していませんが、ネイティブ コードからのログ メッセージは表示されています。何か案は?

前もって感謝します。ベンカット

4

5 に答える 5

21

カスタム WebChromeClient を作成して、コンソール メッセージ ハンドラーを WebView に追加してみてください。

class MyWebChromeClient extends WebChromeClient
{
    @Override
    public boolean onConsoleMessage(ConsoleMessage cm)
    {
        Log.d("CONTENT", String.format("%s @ %d: %s", 
                    cm.message(), cm.lineNumber(), cm.sourceId()));
        return true;
    }
}

そしてそれを添付します:

someWebView.setWebChromeClient(new MyWebChromeClient());
于 2013-07-25T11:34:30.683 に答える
18

android ネイティブ & html5 (phonegap/cordova ではない) のみの場合、logcat にコンソール メッセージを表示する方法について説明します。 http://developer.android.com/guide/webapps/debugging.html#WebView

別の方法は、jsconsole.com を使用することです。リモート デバッグについては、http://jsconsole.com/remote-debugging.htmlで説明されています。

編集: jsconsole.com が機能しないことを発見した人もいます。リモート デバッグのもう 1 つの方法はhttps://bugfender.com/remote-logging です。無料プランのほか、使用量の多い有料プランも多数あります。

于 2012-09-21T01:42:01.940 に答える
1

PhoneGap 2.9.1 を実行しています。

いくつかの検索を行った後、Console.log がタグ「WebView」の下の Eclipse LogCat に表示されることを期待していたので、それが機能しているかどうか確信が持てませんでした。

いくつか遊んだ後、console.log() が「CordovaLog」タグの下の LogCat に表示されることがわかりました。

于 2014-06-25T03:21:39.480 に答える