Console.Log浏览器Android Emulator中的浏览器
-
08-10-2019 - |
题
如何看 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工具文档.
其他提示
如果您已经启动了模拟器 Eclipse
与 ADT 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
)将显示所有类型的控制台消息(包括错误,警告等)。