android 模拟器中的 console.log 浏览器

问题描述 投票:0回答:8

如何使用安卓模拟器查看网站的

console.log
消息?

android-emulator console.log
8个回答
24
投票

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

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

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

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 工具文档.


7
投票

如果您使用

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

Window -> Show View -> Android -> LogCat

6
投票

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

:CONSOLE

仅过滤

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


4
投票

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

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

丑陋到地狱,但它有效。


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();

2
投票

在您的 chrome 上打开此网址

铬://检查


0
投票

命令 - 从模拟器获取日志

adb -e logcat 

adb.exe 可以在 $your_installation_path$ ndroid sdk\platform-tools 找到

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


0
投票

如果你因为zsh不能运行

adb logcat browser:V *:S
,你需要运行
noglob adb logcat browser:V *:S
。理由:https://github.com/ohmyzsh/ohmyzsh/issues/2901

© www.soinside.com 2019 - 2024. All rights reserved.