2016-11-16 80 views
1

我有一個構建在Ionic/Cordova平臺之上的Android應用程序。默認情況下啓用遠程Android調試。如何在Ionic /科爾多瓦禁用遠程android調試WebView

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

這意味着,如果該設備連接到一臺計算機,一個可以去打開Chrome瀏覽器,請前往chrome://檢查發現的網頁列表,或應用程序與網頁視圖,單擊檢查和查看應用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(); 
    } 
} 

在SystemWebViewEngine.java。

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

是否有可以設置的配置或另一種方式爲這個被禁用?

回答

3

當您發佈已簽名的應用程序時,調試功能處於禁用狀態。您可以通過運行應用程序檢查:

cordova run android --release -- --keystore=../my-release-key.keystore --storePassword=password --alias=alias_name --password=password 

Signing an App

或者你可以在你的AndroidManifest.xml<application>設置android:debuggable="false",並且只需運行與應用程序:cordova run android

chrome-remote-debugging

+0

表演所有這些步驟仍會導致出現檢查視圖。它似乎也設置'android:debuggable =「false」'已棄用。 即使直接從Google Play商店安裝應用程序,也會導致出現檢查視圖。應用必須正確簽署才能在Play商店中使用。 –

+0

android:debuggable =「false」不被棄用(https://developer.android.com/guide/topics/manifest/application-element.html),大多數工具在調試或發佈時會自動添加apropiate值。檢查https://developer.android.com/studio/publish/preparing.html(關閉記錄和調試)。也許你的問題是一些cordova插件添加true屬性。你應該檢查生成的apk中的清單。 – isma3l

+0

運行cordova使用'android:debuggable =「false」來建立'flag set給出這個輸出'.../AndroidManifest.xml:9:錯誤:避免硬編碼調試模式;將它留出允許調試和發佈版本自動分配一個[HardcodedDebugMode]' –