Intereting Posts
Eclipse 3.6 часто останавливается во время Content Assist Android: как рисовать границу с LinearLayout Как последовательно запускать Java-потоки на Android Как добавить PDFBox в проект Android или предложить альтернативу Штрих-панель действия: настройка и скрытие заголовка Android – подключение к нескольким устройствам Bluetooth без сопряжения Android setRepeating () и setInexactRepeating () не срабатывают Невозможно установить свойства для вложенных классов из Xaml Как программно изменить правую строку EditText Функция отладки RxJava2 не работает должным образом в RecyclerView – Android Вызывать пользовательскую активность как startActivityForResult Удалить TabIndicator из PagerTabStrip в ViewPager Почему я не могу использовать низкоуровневую версию buildTools? Настройка LOAD_NO_CACHE в WebView сохраняет файлы на диске? ActionBarSherlock с ViewPager, не вызывающим методы жизненного цикла фрагментов ViewPager при переходе и возврате из backstack

Https to http обратное прокси-приложение на Android?

Я пытаюсь настроить решение, позволяющее полностью отлаживать javascript-код непосредственно на планшете Android. Это приложение HTML5, работающее в стандартном мобильном браузере, таком как Chrome или Firefox, для которого требуется отладка. Под «полным» я подразумеваю, что требуется возможность устанавливать точки останова и проходить через код (в, наоборот, вне).

Возможность отладки непосредственно на устройстве важна для случаев в области, в которой удаленному удаленному компьютеру от ПК недоступно. В какой-то момент понадобится возможность отладки автономных веб-приложений, для которых прокси-сервер не должен ничего делать, предполагая, что код переднего конца уже загружен в браузер и / или кэширован на устройстве, прежде чем потерять сетевое соединение , Но это не в центре внимания этого вопроса.

Я смог получить решение Weinre, но обнаружил, что Weinre не имеет возможности устанавливать контрольные точки или переходить через код. Затем я обнаружил приложение jsHybugger , продукт для оплаты, который я могу запустить на планшете, который прокси запрашивает сервер, а затем обслуживает интерфейс отладки, который я могу фактически просматривать, используя другую вкладку браузера на одном и том же планшетном устройстве Android.

Часть, которую мне не хватает, заключается в том, что jsHybugger не поддерживает https, и поэтому не будет разговаривать с сервером, обслуживающим код, который нужно отлаживать. Важно использовать https, а не http, потому что конфиденциальная информация передается между сервером и браузером. Поскольку отладка происходит в поле, это не так, как в локальной сети, где отсутствие https не так критично. Всегда можно выполнить некоторую отладку в более контролируемой настройке, но неизбежно возникнут ошибки в области, требующей «экстренной отладки», используя реальные (не фиктивные или дезинфицированные для http) данные.

Я знаю, что есть обратные прокси-серверы, которые есть – например, я могу легко скрыть прокси-сервер https на http в apache. Но проблема в том, что, поскольку соединение между планшетом и сервером необходимо зашифровать, я не могу выполнить проксирование на сервере, и поскольку другое (не Android) устройство не всегда доступно, мне нужно сделать это на планшет. И до сих пор я не нашел приложений там, которые, очевидно, выглядят так, как будто они будут делать то, что мне нужно. Например, я смотрю на i-Jetty, так как я прочитал, что Jetty (на котором он основан) может делать то, что я ищу, но все примеры, которые я вижу при проксировании, – это код Java, и я хотел бы избежать Мне нужно написать любой код для этого. Я также посмотрел на Fiddler, но, похоже, он не работает на Android, несмотря на смелое утверждение о том, что это «бесплатный прокси-сервер для веб-браузера, системы или платформы». Очевидно, утверждение о том, что «Скрипач здесь, чтобы помочь, независимо от того, какую платформу или язык вы используете для разработки!» В этом случае является ложным. Я также просмотрел различные приложения в магазине Google Play, не найдя ничего. Возможно, эта функция просто не рекламируется заметно, и я пропустил ее. Надеюсь, там уже есть приложение, которое делает то, что мне нужно, с минимальной конфигурацией. В идеале это не требует корня; Если он делает это не шоу-стоппер, но он менее предпочтителен, поскольку укоренение только для того, чтобы иметь возможность отлаживать, может быть проблемой, поскольку ничего другого, что мы делаем, не требует этого, а некоторые устройства более неудобны для root, чем другие.

В качестве альтернативы, если есть лучший способ выполнить то, что я пытаюсь сделать, я буду принимать это вместо ответа.

Поскольку вы упомянули, что ваша разработка в основном основана на SDK, я думаю, что для отладки, которую вы можете найти для отладки, является Dalvik Debug Monitor Server (DDMS). Он цитируется как один из самых мощных инструментов для отладки Android, есть сервер мониторинга Dalvik Debug.

В частности, для HTTPS, Google App Engine предоставляет эту функцию в качестве прокси-сервера HTTP / HTTPS, который вам интересен: gae-go-testing. Взгляните в этот проект с открытым исходным кодом, также доступный в Github, который, похоже, использует некоторые инструменты из Google App Engine, который также доступен в Google Play как выпущенное приложение.

В качестве альтернативы вы можете рассмотреть возможность запуска приложения на сервере разработки и использование Selenium для выполнения ваших тестов.