web-dev-qa-db-ja.com

Androidエミュレータのconsole.logブラウザ

見方console.log Android emulator?

26
coure2011

Rich Chetwyndの短い記事「AndroidブラウザでのJavascriptデバッグ」から。

AndroidデバイスまたはエミュレータからJavaScriptエラーとコンソールメッセージをログに記録できます。これを行うには、まずAndroid SDKおよびUSBドライバをインストールし、USBを有効にする必要があります実際のデバイスでのデバッグ。

デバイスが正しく接続されているかどうかを確認するには、Android SDKツールディレクトリから次のコマンドを実行すると、リストにデバイスが表示されます。

c:\Android sdk..\platform-tools\adb devices

次に、Android Debug Bridgeを使用してデバッグメッセージをフィルター処理し、次のコマンドを実行してブラウザー関連のメッセージのみを表示することができます。

c:\Android sdk..\platform-tools\adb logcat browser:V *:S

デフォルトでは、ログはstdoutに書き込まれるため、JavaScriptウィンドウやconsole.logメッセージなどがcmdウィンドウに表示されます。

詳細: Logcat CLIツールのドキュメント

20
Doug Domeny

EclipseからADT pluginを使用してエミュレータを起動した場合、すべてのJavaScriptコンソールログがLogCatビューのすぐ下に表示されます。

Window -> Show View -> Android -> LogCat
6
Olivier C

私はこのコードを使用してconsole.logをハイジャックしました:

function logManager() {
    var self = this;

    self.init = function () {
        console.log('logmanager initialized');
        var old = console.log;
        self.logger = document.getElementById('log');
        console.log = function (message, options) {
            if (typeof message == 'object') {
                self.logger.innerHTML = (JSON && JSON.stringify ? JSON.stringify(message) : message) + '<br />' + self.logger.innerHTML;
            } else {
                self.logger.innerHTML = message + '<br />' + self.logger.innerHTML;
            }
        }
    }
    self.toggleLogVisibility = function () {
        return $(self.logger).toggle();
    };
}

そして、あなた自身のスタイルであなたのhtmlでそれをそのように消費してください(絶対右上は私が使用したものです)

<div id="log" class="log">
    Application loaded...
</div>

そしてあなたのjscriptで(ログ要素が存在しなければならないのでロードされたページでこれを実行してください)

document.lmgr = new logManager();
document.lmgr.init();
3
Peter

あなたは一時的に次のようないくつかのJavaScriptを追加することができます...

var console = {
    log: function(msg) { alert(msg); }
};

地獄のように醜いが、それは動作します。

3
alex