【问题标题】:Disable remote debugging on WebView Android 4.4 (KitKat)在 WebView Android 4.4 (KitKat) 上禁用远程调试
【发布时间】:2013-11-25 09:28:43
【问题描述】:

如何在 Android 4.4 KitKat 上禁用远程调试?我有一个混合应用程序,出于安全原因,我不希望我的用户看到网页的内容。将static 方法setWebContentsDebuggingEnabled 设置为false 似乎不起作用。此外,远程调试似乎在我的应用程序中默认启用,即使在 official API documentation 中它指出默认情况下禁用。

编辑 测试是在 Ubuntu 12.04 LTS PC 上的 Android 4.4 模拟器中执行的(因为我没有可用的 4.4 设备)。

【问题讨论】:

    标签: android google-chrome webview android-4.4-kitkat


    【解决方案1】:

    用户调试版本中的 WebView 将始终允许调试 WebView。

    WebView.setWebContentsDebuggingEnabled(true / false) 将影响您是否可以在用户构建时调试 WebView。

    【讨论】:

    • 你能提供任何关于这个的来源(最好是官方的)吗?谢谢!
    • 我在 Chrome 团队工作,会做笔记以更新 DevTools 文档。
    • 既然@Kinlan 也提到过,我想我可以接受你的回答。不要忘记更新文档,因为我相信这是一个重要的细节。再次感谢!
    【解决方案2】:

    对我来说,这段代码 sn-p 适用于 Android 4.4 (Nexus 7)

    if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
        if ( 0 != ( getApplcationInfo().flags &= ApplicationInfo.FLAG_DEBUGGABLE ) ) {
            WebView.setWebContentsDebuggingEnabled(true);
        }
    }
    

    【讨论】:

    • 感谢您的回复。我已经尝试了上面的代码,但没有运气。问题是,通过设置WebView.setWebContentsDebuggingEnabled(false);,我仍然可以使用 PC 中的 Google Chrome 浏览器检查我应用的 WebView 中的 Web 内容。
    • 我已经在 Nexus 7 和 Android 4.4 上测试过了。即使调用 WebView.setWebContentsDebuggingEnabled(false) 也不会在 chrome://inspect 页面上显示该过程。如何通过 chrome://inspect 或其他方式开始调试?
    • 由于我没有4.4的设备,所以只能在安卓4.4的模拟器上测试。也许它只是在模拟器上发生,但我无法验证它。
    • 在chrome://inspect页面可以清楚的看到流程,用4.4的模拟器打开。
    • 请注意。如果您正在运行模拟器或用户调试版本,那么您始终可以通过 chrome://inspect 访问应用程序
    猜你喜欢
    • 2014-08-08
    • 1970-01-01
    • 2014-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-21
    • 1970-01-01
    • 2013-12-14
    相关资源
    最近更新 更多