Удаленная отладка мобильного приложения

Удаленная отладка мобильного приложения

20 января 2019


Автор: ГОТОВЫЕ РЕШЕНИЯ
Периодически сталкиваюсь с вопросом "а как же отлаживать мобильное приложение вашей платформы, как посмотреть что происходит именно в мобильном приложении", понятно, что вроде бы это тот же мобильный сайт, но есть некоторые особенности, с левым меню, например, или поведение немного иное, доступное при вызове нативных функций.

Решил изучить эту задачу глубже и раскрыть тему удаленной отладки, чтобы для веб-программиста разработка была похожа на доработку мобильного сайта. Иногда при доработке мобильного приложения возникает необходимость посмотреть консоль, как это привычно делать в браузере, чтобы увидеть, что конкретно творится на устройстве.

Пошаговая инструкция:
  1. устанавливаем эмулятор Android приложений, на мой взгляд удачные BlueStacks и NoxPlayer
  2. устанавливаем браузер Google Chrome
  3. устанавливаем Android Debug Bridge
    [на Mac OS X]
    brew cask install android-platform-tools
    если не установлен brew, следуем инструкции
    [на Windows]
    погуглите сами, пока нет под рукой, попозже допишу
  4. скачиваем apk файл Сервис ПИ
  5. устанавливаем apk для отладки на доступном эмуляторе
    adb install -r servicepi.apk
    если adb не видит эмулятор, перезапустите его командой:
    adb kill-server
  6. запускаем Хром и переходим по адресу:
    chrome://inspect
    
Далее вам доступны все возможности отладки мобильного сайта, к которым вы привыкли.

Вопрос/ответ из общения с программистом, который дорабатывает наше решение:
  • как загружается левое меню?
    >> приложение загружает в отдельном webView страницу /youdo/left.php
  • как обновить левое меню?
    >> вызовом js функции
    app.onCustomEvent("OnAfterUserUpdate");
    
  • по какому условию перезагружается левое меню?
    >> по событию OnAfterUserRegister, OnAfterUserLogin, OnAfterUserUpdate, OnAfterUserLogout
  • какие функции есть в мобильном приложении?
    >> подробное описание в материалах
Вы можете собрать и свое приложение из исходников на Android, установив свой адрес сервера в параметре app_url в файле values/strings.xml. Для включения отладки в файле XWalkAppication.java по аналогии нужно добавить:
Само собой, этот параметр должен отсутствовать в сборке для Google Play.