我的应用是 Android 原生、html5 的组合。直到上周,我才能看到来自本机代码和在 WebView 内运行的 javascript 代码的日志消息。但是突然 Logcat 没有显示来自 javascript 的控制台消息,尽管它显示了来自我的本机代码的日志消息。有任何想法吗?
提前致谢。文卡特
我的应用是 Android 原生、html5 的组合。直到上周,我才能看到来自本机代码和在 WebView 内运行的 javascript 代码的日志消息。但是突然 Logcat 没有显示来自 javascript 的控制台消息,尽管它显示了来自我的本机代码的日志消息。有任何想法吗?
提前致谢。文卡特
您可以尝试通过创建自定义 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());
仅适用于 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 没有任何关系。有一个免费计划,也有各种具有更高使用水平的付费计划。
我正在运行 PhoneGap 2.9.1。
在做了一些搜索之后,我期待 Console.log 显示在 Eclipse LogCat 中的标签“ WebView ”下,所以我不确定它是否正常工作。
经过一番玩耍后,我发现 console.log() 确实显示在 LogCat 中的标签“ CordovaLog ”下。
如果您想在浏览器中测试您的 cordova 应用程序,就像您测试任何其他 Web 应用程序一样。
您可以使用:cordova serve
. 这将在本地运行混合应用程序。您可以打开 url http://localhost:8000,并可以检查控制台日志的元素。您可以更改 DOM 元素、CSS。