我在做一个和拉斐尔有关的项目。事实证明,它在Android上不起作用。iPhone上是这样的。
我该怎么调试Android浏览器上的东西呢?它是WebKit,所以如果我知道版本,在完整版本的WebKit上调试它会产生相同的结果吗?
我在做一个和拉斐尔有关的项目。事实证明,它在Android上不起作用。iPhone上是这样的。
我该怎么调试Android浏览器上的东西呢?它是WebKit,所以如果我知道版本,在完整版本的WebKit上调试它会产生相同的结果吗?
当前回答
我用Weinre,阿帕奇科多瓦的一部分。
使用Weinre,我可以在桌面浏览器中获得谷歌Chrome的调试控制台,并可以将Android连接到该调试控制台,并调试HTML和CSS。我可以在控制台中执行Javascript命令,这些命令会影响Android浏览器中的Web页面。来自Android的日志消息出现在桌面调试控制台中。
然而,我认为这是不可能查看或逐步通过实际的Javascript代码。所以我把Weinre和日志信息结合起来。
(我对JConsole了解不多,但在我看来,用JConsole检查HTML和CSS是不可能的,只有Javascript命令和日志记录(?))
其他回答
Chrome有一个很棒的功能,可以简单地将实际的Android Chrome内容(包括检查等)显示到PC屏幕上…
在设备上打开USB调试,也许你还需要通过adb设备连接一次,以触发移动设备上的“允许与…通信”对话框, 将Android设备连接到PC上, 在两者上启动Chrome,然后 然后浏览chrome://inspect/# PC上的设备。 这里列出了来自手机Chrome的标签,可以检查。
网上也有详细的手册:https://www.till.net/technologie/html-javascript/remote-web-debugging-unter-android-und-chrome
(发现adb logcat在浏览器中什么都没有显示)
http://jsconsole.com (http://jsconsole.com/remote-debugging.html)提供了一种很好的方式,您可以使用它来访问您的网页内容。
你可以试试https://github.com/fullpipe/screen-log。试着让它简洁明了。
Android 5.1.1上Galaxy S6上的Android本机浏览器的全Chrome远程调试:
开启手机USB调试(设置,关于,快速点击版本号,开发人员设置,USB调试) 打开“网络” 导航到“about:debug”(你会看到一个错误) MORE菜单>设置>调试>远程调试 用USB数据线连接手机和电脑 在手机上,在Internet web浏览器中,打开要调试的站点 在电脑上打开Chrome 导航到'chrome://inspect' 单击要检查的浏览器选项卡上的“检查”
Galaxy S5设备可以在Chrome浏览器中显示,但标签页只有在重启后才能显示。重新启动并尝试连接后,移动浏览器崩溃。
Android工作室提供所有你需要看到console.log和其他。在logcat中,只要过滤到“/Web Console”,你就会看到你的js日志…
如果你遇到任何问题,你可以添加这个插件: https://github.com/apache/cordova-plugin-console