如何使用Android模拟器查看网站的console.log
消息?
答案 0 :(得分:20)
来自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,因此您将看到写入cmd窗口的任何Javascript错误或console.log消息等。
更多详情:Logcat CLI tool docs。
答案 1 :(得分:6)
如果您使用Eclipse
从ADT plugin
启动了模拟器,您将直接在LogCat视图下看到所有JavaScript
控制台日志:
Window -> Show View -> Android -> LogCat
答案 2 :(得分: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();
答案 3 :(得分:2)
您可以暂时添加一些JavaScript,如...
var console = {
log: function(msg) { alert(msg); }
};
丑陋,但它确实有效。
答案 4 :(得分:1)
如果您使用的是Android Studio;您可以打开Logcat(Alt + 6)并过滤以下内容::CONSOLE
仅过滤:CONSOLE
(而不是INFO:CONSOLE
)将显示所有类型的控制台消息(包括ERROR,WARN等)。
答案 5 :(得分:0)
命令 - 从模拟器获取日志
adb -e logcat
adb.exe 位于 $your_installation_path$\android sdk\platform-tools