如何看 console.log 使用Android模拟器的网站消息?

有帮助吗?

解决方案

来自Rich Chetwynd的简短文章“ JavaScript在Android浏览器上调试”。

您可以从Android设备或模拟器记录JavaScript错误和控制台消息。为此,您首先需要安装Android SDK和USB驱动程序,并在实际设备上启用USB调试。

要检查设备是否正确连接,您可以从Android SDK工具目录中运行以下CMD,您应该在列表中看到设备

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

然后,您可以使用Android调试桥来过滤调试消息,以便仅通过运行以下CMD看到浏览器相关的消息。

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

默认情况下,日志写入stdout,因此您将看到写入CMD窗口的任何JavaScript错误或控制台。LOG消息等。

更多详细信息: logcat CLI工具文档.

其他提示

如果您已经启动了模拟器 EclipseADT plugin, ,你会看到所有 JavaScript 控制台日志直接在logcat视图下:

Window -> Show View -> Android -> LogCat

您可以暂时添加一些JavaScript ...

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

丑陋的地狱,但它起作用。

我使用此代码劫持了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();

如果您正在使用Android Studio;您可以打开logcat(alt+6),并过滤: :CONSOLE

仅过滤 :CONSOLE (而不是 INFO:CONSOLE)将显示所有类型的控制台消息(包括错误,警告等)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top