AndroidエミュレータのConsole.Logブラウザ
-
08-10-2019 - |
質問
見る方法 console.log
Androidエミュレーターを使用したWebサイトのメッセージ?
解決
Rich Chetwyndの短い記事「AndroidブラウザでのJavaScriptデバッグ」から。
AndroidデバイスまたはエミュレータからJavaScriptエラーとコンソールメッセージを記録できます。これを行うには、最初にAndroid SDKおよびUSBドライバーをインストールし、実際のデバイスでUSBデバッグを有効にする必要があります。
デバイスが正しく接続されているかどうかを確認するには、Android SDKツールディレクトリから次のCMDを実行でき、リストにデバイスが表示されるはずです
c:\android sdk..\platform-tools\adb devices
その後、Android Debug Bridgeを使用してデバッグメッセージをフィルタリングして、次のCMDを実行してブラウザ関連のメッセージのみを表示することができます。
c:\android sdk..\platform-tools\adb logcat browser:V *:S
デフォルトでは、ログはstdoutに書き込まれるため、javaScriptエラーまたはConsole.logメッセージなどがCMDウィンドウに書き込まれます。
詳細: LogCat CLIツールドキュメント.
他のヒント
からエミュレータを開始した場合 Eclipse
とともに ADT plugin
, 、あなたはすべてを見るでしょう JavaScript
ログキャットビューのすぐ下にログを直接コンソールします。
Window -> Show View -> Android -> LogCat
一時的にJavaScriptを追加することができます...
var console = {
log: function(msg) { alert(msg); }
};
地獄のように醜いですが、それはうまくいきます。
このコードを使用してコンソールをハイジャックしました。
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();
Android Studioを使用している場合。 logcat(alt+6)を開き、以下をフィルタリングできます。 :CONSOLE
フィルタリングのみ :CONSOLE
(それよりも INFO:CONSOLE
)すべてのタイプのコンソールメッセージ(エラー、ワーンなどを含む)を表示します。