Как включить удаленный отладчик/инспектор WebKit приложения Android с помощью WebView?
Мне нужно проверить выполнение javascript (виджет веб-просмотра) в приложении Android,
при отладке; через SDK и USB-кабель и/или http/websockets;
с компьютера-прерывателя (например, chrome работает на рабочем столе).
Источники Webkit включают реализацию DebuggerServer
(platform_external_webkit\Source\WebKit\android\wds\DebugServer.cpp)
доступный на уровне cpp и связанный, если флаг WDS включен (во время сборки?)
Источник\WebKit\android\jni\WebCoreFrameBridge.cpp: #if ENABLE (WDS)
Источник \WebKit\android\jni\WebCoreFrameBridge.cpp: WDS:: server() → addFrame (фрейм);
Порт по умолчанию для сервера - 9999
Источники показывают, что все реализовано (на уровне Cpp), чтобы включить функцию,
но я не нашел никакой ссылки в Интернете для опытов
использование живой отладки на уровне javascript для автоматизации устройств adroid
Интерфейс инспектора webkit.
1.- Представлена ли функция в бинарной форме в реальных устройствах Android?
(было ли распространено adroid-распределение веб файла без флага WDS?:-()
2.- Может ли функция удаленной отладки включаться/использоваться из javascript или приложения
(на уровне java), например. при запуске приложения?
3.- Если возможно включить функцию инспектора/отладчика webkit,
как сделать возможным взаимодействие с удаленным приложением? (например, из
другое приложение для javascript, использующее websockets, или хром на настольных компьютерах).
Некоторые параграфы, объясняющие https://developers.google.com/chrome-developer-tools/docs/remote-debugging#remote
было бы хорошо!
заблаговременно за любую информацию или ссылки на эту тему.
Я считаю важным включить удаленную отладку (на устройстве) в
javascript, чтобы сделать возможным современное развитие HTML5
приложений и счастливого отладки.
веселит,
Ale.
Ответы
Ответ 1
Для android >= 4.4 (kitkat)
См. Удаленная отладка на Android с Chrome
Для android < 4.4 (Нижние версии)
Используйте очень хороший инструмент с открытым исходным кодом: weinre. Смотрите это видео для справки.
Если вы знакомы с grunt, вы можете использовать grunt-weinre
Для быстрого просмотра:
- установить weinre с помощью npm
- Создайте конфигурацию в файле grunt.
- Запустите задание командной строки weinre.
- Используйте этот script для ввода целевого кода weinre на вашу веб-страницу.
- Откройте http://localhost:8082 в вашем браузере, и вы найдете устройства, работающие над script. Вы можете отлаживать все эти устройства.
ПРИМЕЧАНИЕ., если вы хотите отлаживать веб-просмотр/браузер на своем мобильном устройстве, вам необходимо заменить localhost на свой IP-адрес вашего компьютера. И да, все устройства должны быть в одной сети.
Ответ 2
Теперь с Android 4.4 это легко. См. https://developers.google.com/chrome-developer-tools/docs/remote-debugging#debugging-webviews
Ответ 3
Вы можете выполнить удаленное отладочное таргетинг на Android-браузер с помощью проекта weinre. Или используйте удаленную отладку Chrome в браузере Chrome для Android. Насколько я знаю, вы не можете настроить таргетинг на WebView напрямую, но таргетинг на Android-браузер должен вас закрыть.
Ответ 4
Этого не может быть сделано, потому что кода бэкэнд-отладчика нет. Исходный код, на который вы ссылаетесь, является копией источника webkit в android, но он не скомпилирован в биты релиза android.
Ответ 5
Pre KitKat jsHyBugger работает хорошо (пробная версия и годовая лицензия для одного пользователя € 29)
(у меня нет связи с разработчиками/вы приобрели лицензию)