Android: Logcat is not working for JS console.log()

可紊 提交于 2019-12-19 06:54:14

问题


My app is a combination of Android native, html5. Till last week I'm able to see the log messages from native code and javascript code running inside th WebView. But suddenly Logcat is not showing the console messages from javascript, though it is showing Log messages from my native code. Any ideas?

Thanks in advance. Venkat


回答1:


You can try adding a console message handler to your WebView by creating your custom WebChromeClient:

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;
    }
}

And then attach it:

someWebView.setWebChromeClient(new MyWebChromeClient());



回答2:


For just android native & html5 (not phonegap/cordova) this covers how to display console messages in logcat. http://developer.android.com/guide/webapps/debugging.html#WebView

An alternative is to use jsconsole.com. Remote debugging is covered at http://jsconsole.com/remote-debugging.html

Edit: Some have found jsconsole.com doesn't work. Another alternative for remote debugging is https://bugfender.com/remote-logging Disclaimer: non-affiliate link and I have no relationship with bugfender other than a user. There is a free plan and also various paid plans with higher usage levels.




回答3:


I am running PhoneGap 2.9.1.

After doing some searching I was expecting the Console.log to show in the Eclipse LogCat under the tag 'WebView', so I wasn't sure it was working.

After some playing around I found that console.log() does show in the LogCat under the tag 'CordovaLog'.




回答4:


This command works too nice

adb shell "logcat | grep 'Web Console'"

I found the answer here




回答5:


If you want to test your cordova App, within your browser, just like you test any other web app.

You can use: cordova serve . This will run the hybrid app locally. You can open the url http://localhost:8000, and can inspect element for console logs. You can change the DOM elements, CSS.



来源:https://stackoverflow.com/questions/11373491/android-logcat-is-not-working-for-js-console-log

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!