如何在 Ionic/Cordova 中禁用 WebView 的远程 Android 调试

moh*_*med 3 android webview android-webview cordova ionic-framework

我有一个基于 Ionic/Cordova 平台构建的 Android 应用程序。默认情况下,远程 Android 调试已启用。

https://developers.google.com/web/tools/chrome-devtools/remote-debugging/

这意味着,如果设备连接到计算机,则可以打开 Chrome 浏览器,转到 chrome://inspect 查找网页列表或具有 Webview 的应用程序,单击检查并查看应用程序的 HTML、JS 和其他资源。这对于调试来说很好,但我希望在发布的应用程序中禁用它。

在尝试禁用此功能(或查找启用它的位置)时,我发现有一个功能

@TargetApi(Build.VERSION_CODES.KITKAT)
private void enableRemoteDebugging() {
    try {
        WebView.setWebContentsDebuggingEnabled(true);
    } catch (IllegalArgumentException e) {
        LOG.d(TAG, "You have one job! To turn on Remote Web Debugging! YOU HAVE FAILED! ");
        e.printStackTrace();
    }
}
Run Code Online (Sandbox Code Playgroud)

在 Cordova 目录中的 SystemWebViewEngine.java 中。

https://github.com/apache/cordova-android/blob/37384c583d5a2e5b9b5c5d2cbf150f07f329d16c/framework/src/org/apache/cordova/engine/SystemWebViewEngine.java

是否有可以设置的配置或其他方法可以禁用此功能?

ism*_*a3l 5

当您发布签名的应用程序时,调试将被禁用。您可以通过运行应用程序来检查:

cordova run android --release -- --keystore=../my-release-key.keystore --storePassword=password --alias=alias_name --password=password
Run Code Online (Sandbox Code Playgroud)

签署应用程序

或者您可以在您的android:debuggable="false"中进行设置,然后使用以下命令运行应用程序:<application>AndroidManifest.xmlcordova run android

chrome 远程调试