8

我的应用是 Android 原生、html5 的组合。直到上周,我才能看到来自本机代码和在 WebView 内运行的 javascript 代码的日志消息。但是突然 Logcat 没有显示来自 javascript 的控制台消息,尽管它显示了来自我的本机代码的日志消息。有任何想法吗?

提前致谢。文卡特

4

5 回答 5

21

您可以尝试通过创建自定义 WebChromeClient 将控制台消息处理程序添加到您的 WebView:

class MyWebChromeClient extends WebChromeClient
{
    @Override
    public boolean onConsoleMessage(ConsoleMessage cm)
    {
        Log.d("CONTENT", String.format("%s @ %d: %s", 
                    cm.message(), cm.lineNumber(), cm.sourceId()));
        return true;
    }
}

然后附上它:

someWebView.setWebChromeClient(new MyWebChromeClient());
于 2013-07-25T11:34:30.683 回答
18

仅适用于 android native & html5 (not phonegap/cordova) 这涵盖了如何在 logcat 中显示控制台消息。 http://developer.android.com/guide/webapps/debugging.html#WebView

另一种方法是使用 jsconsole.com。http://jsconsole.com/remote-debugging.html介绍了远程调试

编辑:有些人发现 jsconsole.com 不起作用。远程调试的另一种选择是https://bugfender.com/remote-logging 免责声明:非附属链接,除了用户之外,我与 bugfender 没有任何关系。有一个免费计划,也有各种具有更高使用水平的付费计划。

于 2012-09-21T01:42:01.940 回答
1

我正在运行 PhoneGap 2.9.1。

在做了一些搜索之后,我期待 Console.log 显示在 Eclipse LogCat 中的标签“ WebView ”下,所以我不确定它是否正常工作。

经过一番玩耍后,我发现 console.log() 确实显示在 LogCat 中的标签“ CordovaLog ”下。

于 2014-06-25T03:21:39.480 回答
1

这个命令太好用了

adb shell "logcat | grep 'Web 控制台'"

我在这里找到了答案

于 2016-03-31T17:03:40.657 回答
0

如果您想在浏览器中测试您的 cordova 应用程序,就像您测试任何其他 Web 应用程序一样。

您可以使用:cordova serve. 这将在本地运行混合应用程序。您可以打开 url http://localhost:8000,并可以检查控制台日志的元素。您可以更改 DOM 元素、CSS。

于 2015-02-02T16:31:39.010 回答