【问题标题】:Debugging javascript on Android tablets/phones?在 Android 平板电脑/手机上调试 javascript?
【发布时间】:2011-08-09 01:24:55
【问题描述】:

如何像在 iOS 上的 Safari 中一样启用调试视图?我只需要查看我正在测试页面的 Xoom 是否会生成 javascript 错误。我试图找到如何像在 iOS 上一样在 Android 浏览器中启用开发工具,但似乎找不到它。

【问题讨论】:

    标签: javascript android ios debugging console


    【解决方案1】:

    您无需安装任何软件或尝试在您的移动小屏幕上进行调试。 首先在您的设备中的“开发者设置”中启用USB调试,然后使用您的桌面chrome连接并调试移动浏览器。

    我发现最简单的方法是在手机/平板电脑上启用 USB 调试,然后在桌面上将 chrome 导航到

    chrome://inspect/#devices
    

    启用发现 USB 设备,然后在应用列表中单击“检查”

    瞧!远程调试!现在您可以在舒适的桌面上调试手机

    【讨论】:

      【解决方案2】:

      Opera mobile 具有远程调试功能: http://dev.opera.com/articles/view/remote-debugging-with-opera-dragonfly/

      Android 默认似乎没有调试器,尽管您可以在使用相同 webkit 渲染的 PC 上的 chrome/chromium 上进行调试。 (甚至还有一个模拟 Android 选项,但它没有 Android 平板电脑的所有怪癖、图像/内存限制等)

      Firebug Lite 也是一种可能性: http://getfirebug.com/firebuglite

      【讨论】:

        【解决方案3】:

        我过去曾开发过一个 Android 应用程序,Java 开发人员将其设置为警告 JavaScript 错误 - 发现了一个额外的错误,因此我们在 iOS 版本中没有发现它。因此,如果您可以访问 java 层,我会检查一下。我问他具体做了什么,他说: “WebView 类有一个回调,可以让我知道 JS 代码何时抛出错误。我实现了该回调以显示一个 android 对话框。”

        除此之外,我还有两个解决方案用于调试(ios/android)。这些对于您无法访问内置控制台的游戏中的嵌入式 Web 视图特别有用:

        1) Weinre 仍然是测试版,但功能强大的远程调试器。它会在您的桌面上为您提供一个人造检查器,您可以使用它来查询/查看远程设备上的错误。有一个完整的dom检查员和任何东西。开发它的人也反应灵敏。

        2) 我编写了一个 javascript 日志函数来访问我的服务器错误日志。只需跟踪您的日志文件,您就可以开始了。我的 javascript 函数看起来像这样:

        function hlog(){
            var s = Array.prototype.slice.apply(arguments).join('¶');
            document.createElement('img').src = 'http://yourdevbox/debugger/?m=' + encodeURIComponent(s);
        }
        

        这样我可以接受任意数量的参数。 我收到此请求的 php 页面如下所示:

        # ensure this can't be used in production 
        if (strpos($GLOBALS['HTTP_HOST'], 'devboxhostname') < 0) die(':(');
        error_log($_GET['m']);
        

        希望在未来,移动开发者将拥有更好的调试工具。

        【讨论】:

        • +100 万。温雷太棒了。用于移动设备的 Webkit 开发工具。
        • 很好的答案。我已经开始使用 weinre,它很有用,但似乎没有将任何 javascript 错误打印到控制台。我正在使用phonegap进行开发,如果这有所作为的话。有什么建议吗?
        • @Mauvis Ledford “WebView 类有一个回调,可以让我知道 JS 代码何时抛出错误。我实现了该回调以显示一个 android 对话框。”这个方法叫什么名字?如果这不是秘密:)
        • Artem:抱歉,我不知道,不再与那家公司合作。
        【解决方案4】:

        在 url 字段中输入 about:debug 并验证,然后将提供一个 javascript 控制台(删除方法相同)

        此页面上的更多内容:https://android.stackexchange.com/questions/5999/android-browsers-aboutdebug-what-do-those-settings-do

        【讨论】:

        • 哇,我很惊讶它这么容易。谢谢!
        • 请注意,这是针对普通浏览器的,而不是 Chrome。
        • 这是基于 Webkit 的股票浏览器,而不是新的基于 Chromium 的股票浏览器 (4.2+)
        【解决方案5】:

        试试 Weinre: Web Inspector Remote / Watch demo

        “Weinre 是一个网页调试器,例如 FireBug(用于 FireFox)和 Web Inspector(用于基于 WebKit 的浏览器),但它被设计为远程工作,特别是允许您在移动设备上调试网页比如手机。”

        您可以看看其他一些远程调试工具:jsconsole土狼

        【讨论】:

          【解决方案6】:

          你能做的最好的就是使用console.log()(类似firebug),然后在你的手机上安装一个日志查看器,根据browser进行过滤,你就可以看到所有console的消息。 (source)

          【讨论】:

            【解决方案7】:

            Android(目前)没有像 Chrome/Chromium 那样的 WebInspector。

            您仍然可以在 logcat 中查看在 window.console 下触发的任何 console.log() 消息。

            来源:http://developer.android.com/guide/webapps/debugging.html

            此外,虽然 Firefox 4 可用于 Android,但 Firebug 目前在浏览器的移动版本上不受支持。

            【讨论】:

            • 最简单的方式来记录 JS 的输出并查看目前为止的日志。
            猜你喜欢
            • 2012-12-08
            • 2012-02-17
            • 2013-08-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2012-09-13
            • 1970-01-01
            相关资源
            最近更新 更多