Для получения журнала консоли через adb см .: Отладка приложения WebView (Ionic) на Android через logcat
Сначала попробуйте описанное выше, так как мне кажется, что вы неправильно прочитали ваш вопрос об отладке WebView с помощью удаленной отладки.
Для простого нативного приложения для Android на Java / Kotlin, обертывающего WebView, в документации совершенно ясно, что все, что нужно сделать, - это включить функцию :
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
WebView.setWebContentsDebuggingEnabled(true);
}
и требуется дополнительный код, чтобы ограничить его отладочной версией:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
if (0 != (getApplicationInfo().flags & ApplicationInfo.FLAG_DEBUGGABLE))
{ WebView.setWebContentsDebuggingEnabled(true); }
}
Глядя на то, что в репозитории Cordova Android:
Cordova Android - ... SystemWebViewEngine.java
соответствующий код здесь:
//Determine whether we're in debug or release mode, and turn on Debugging!
ApplicationInfo appInfo = webView.getContext().getApplicationContext().getApplicationInfo();
if ((appInfo.flags & ApplicationInfo.FLAG_DEBUGGABLE) != 0) {
enableRemoteDebugging();
}
Я также обнаружил, что это открыто ВЫПУСК 500: В версии выпуска все еще включена отладка , что означает, что эмуляторы Android разрешают отладку, даже если APK упакован для выпуска.
Итак, мои предложения по удаленной отладке WebView в выпущенном APK:
Попробуйте использовать эмулятор для отладки с выпуском APK, как это представляется возможным.
Подумайте о разветвлении кода Android Cordova и создайте специальный режим отладки, чтобы на устройстве можно было отлаживать содержимое WebView. Включение такой функции может быть скрыто через пользовательское системное свойство: Как определить и использовать системное свойство в Android? Например, скажем, вы определили флаг с именем com.example.myapp.debugwebview
. Вы можете установить свойство с помощью команды, например adb setprop com.example.myapp.debugwebview 1
, и при запуске / перезапуске приложение включит отладку WebView. Обратите внимание, что для этого требуется более детальное понимание Android, а также усилия по поддержке форка.