29

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

4

6 回答 6

24

来自 Rich Chetwynd 的短文《Android 浏览器上的 Javascript 调试》。

您可以从 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

默认情况下,日志被写入标准输出,因此您将看到任何 Javascript 错误或 console.log 消息等写入 cmd 窗口。

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

于 2011-04-27T21:17:43.577 回答
6

如果您从 启动模拟器Eclipse,您将直接在 LogCat 视图下ADT plugin看到所有控制台日志:JavaScript

Window -> Show View -> Android -> LogCat
于 2012-04-19T07:25:15.033 回答
4

您可以临时添加一些 JavaScript,例如...

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

丑得要命,但它确实有效。

于 2010-10-18T06:51:47.077 回答
4

如果您使用的是 Android Studio;您可以打开 Logcat (Alt+6) 并过滤::CONSOLE

仅过滤:CONSOLE(而不是INFO:CONSOLE)将显示所有类型的控制台消息(包括 ERROR、WARN 等)。

于 2019-10-02T04:23:05.517 回答
3

我使用以下代码劫持了 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();
于 2014-03-26T13:02:58.707 回答
0

命令 - 从模拟器获取日志

adb -e logcat 

adb.exe 位于 $your_installation_path$\android sdk\platform-tools

更详细的 https://docs.microsoft.com/ru-ru/xamarin/android/deploy-test/debugging/android-debug-log?tabs=windows

于 2021-02-05T08:13:42.247 回答