Отладка JavaScript в эмуляторе Android с пробелом - PullRequest
68 голосов
/ 13 января 2011

Я новичок в разработке телефонов и мобильных телефонов.Могу ли я узнать, как я могу отладить ошибку javascript на эмуляторе?Я слышал об ADB, могу ли я узнать, как я могу использовать и установить его в системе Windows 7?У меня есть ajax с jsonp, но на эмуляторе нет ответа.Тем не менее, я могу назвать это AJAX с браузером на Windows.Могу ли я узнать, что пошло не так?

Ответы [ 16 ]

43 голосов
/ 13 июня 2012

Обновление ноябрь 2016: похоже, это больше не работает.

Самый простой и один из самых мощных способов - это использование http://debug.phonegap.com (он использует Weinre в фоновом режиме, если вам не все равно) Вы просто

  1. выберите случайную строку, скажем r4nd0m,
  2. введите <script src="http://debug.phonegap.com/target/target-script-min.js#r4nd0m"></script> в ваш index.html
  3. посетите http://debug.phonegap.com/client/#r4nd0m и вы сразу же будете отлаживать свое мобильное веб-приложение.

Вещи, которые вы можете сделать (аналогично Firebug или Web Inspector):

  1. Просмотр и изменение DOM
  2. Редактирование CSS
  3. Консоль для оперативной отладки и удаленного запуска Javascript.
  4. Другие вещи, такие как: хранилище, ресурсы, временная шкала, профиль и т. Д.
41 голосов
/ 13 января 2011

Вы можете по крайней мере записать отладочную информацию в консоль adb, вызвав console.log () в JavaScript. Может быть, этого будет достаточно?

Чтобы просмотреть вывод журнала с помощью adb, перейдите в каталог SDK platform-tools / tools и выполните:

adb logcat

См. Средство командной строки logcat

22 голосов
/ 17 февраля 2014

Теперь вы можете использовать инструменты Chrome для удаленной отладки приложений Android Phonegap!Я написал здесь инструкции: Удаленная отладка приложений Phonegap с помощью Chrome Dev Tools

Шаги для эмулятора Android:

  1. Перейдите к chrome: // inspect / в GoogleChrome на настольном компьютере.
  2. Найдите эмулятор Android на вкладке "Устройства" и нажмите ссылку "проверить"

Google Chrome remote target

См. Также Начало работы с удаленной отладкой устройств Android

4 голосов
/ 19 мая 2011

Я бы порекомендовал jsconsole . Это позволяет вам вводить любой JavaScript-код на страницу и обеспечивает базовую консоль. Есть хорошее руководство по удаленной отладке .

2 голосов
/ 06 декабря 2014

Я решил это легко в два этапа.

Изменить уровень ведения журнала

В config.xml добавьте эту строку

    <log level="DEBUG"/>

Запустите кордову Log

Это bat-файл, который вы можете просто запустить и отследить все сообщения журнала, перейти в ваш проект phonegap и перейти к \platforms\android\cordova, затем открыть log.bat, теперь вы можете эмулировать ваше приложение с помощью командной строки

cordova emulate

и журнал будет показан в cmd, который будет отображаться при открытии log.bat

2 голосов
/ 25 июня 2013

Существует (наконец) инструмент, позволяющий правильно отлаживать JavaScript для Android - http://www.jshybugger.org/

Особенности:

  • добавить / удалить / включить / отключить точки останова линии
  • смотреть выражения
  • вход / выход / выход
  • пауза при исключении
  • навигация по стеку вызовов
  • локальная переменная проверка
  • пульт дистанционного управления
  • Синтаксис JavaScript и отчеты об ошибках во время выполнения
  • просмотр / редактирование / удаление элементов Local Storage
  • просмотр / редактирование / удаление элементов Session Storage
  • просмотр / редактирование / удаление записей базы данных WebSQL (смотреть видео)
  • просмотр ресурсов страницы (изображения, скрипты, html)
  • улучшена поддержка удаленной консоли (stacktrace)
  • Отладчик: расширенная проверка объектов
  • Отладчик: условные точки останова
  • Отладчик: продолжить здесь
2 голосов
/ 05 октября 2011

Я обнаружил, что это работает для отладки ошибок JavaScript для Android / Phonegap при тестировании приложения через Eclipse в Windows 7.

Просто перейдите в Окно> Показать представление> Другое ...

Затем выберите LogCat в папке Android .

В появившемся окне / вкладке, куда эмулятор Android отправит своижурналы и сообщения об ошибках.Вы можете отсоединить это окно и поместить его вне Eclipse IDE (я нашел это полезным).Вы также можете контролировать типы ошибок, которые вы видите, выбрав любую из 5 цветных букв в верхнем правом углу окна.

Чтобы скрыть бесполезную информацию, чтобы вы только видели ошибки, убедитесь, что у вас есть только(E) выбрано.Лично мне также нравится выбирать предупреждения (W) и ошибки (E).

Надеюсь, это поможет!

2 голосов
/ 23 сентября 2011

Да, у вас есть ошибки журнала в console.log и вы видите вкладку LogCat в Eclipse.Там будут отображаться сообщения веб-консоли (включая ошибки JS).Это немного многословно, поэтому вам нужно отфильтровать, чтобы показать только теги веб-консоли, но это работает хорошо.Описано здесь: ПОКАЗЫВАЕТ КОНСОЛЬНУЮ КОНСОЛЬУ. ОШИБКИ ВЫХОДА И JAVASCRIPT С ФОНЕЗАПОМ НА ANDROID / ECLIPSE

0 голосов
/ 27 сентября 2016

Обновление: в настоящее время PhoneGap называется Apache Cordova, и если вы хотите использовать его для разработки приложений для Android, вам необходимо установить Android Studio.Чтобы получить доступ к консоли logcat из Android Studio, откройте проект Android (это папка платформы / android внутри вашего проекта Cordova) и выберите меню «Инструменты-> Android-> Android Device Monitor».

Android Device Monitor (AVD) может работать в одиночку, поэтому вы можете создать прямой доступ, чтобы избежать всего этого пути.AVD автоматически получает сообщения журнала от вашего эмулятора, запущенного с Cordova, и позволяет вам легко устанавливать фильтры, чтобы уменьшить большой объем вывода, получаемого от эмулятора.Я специально предпочитаю фильтровать по имени приложения.

0 голосов
/ 20 января 2016

Отладка PhoneGap все еще существует. тот, о котором я знаю, находится в сборке phonegap, найденной в настройках, и отметьте опцию приложения отладки. Затем он восстановит ваше приложение, когда вы сохраните его. Кнопка отладки появится на странице приложения вместе с опциями перестроения. (этот сервис также использует встроенный weinre)

Другой вариант, который я также считаю самым быстрым, - jsconsole.com . Он очень прост в настройке и практически не требует настройки по сравнению с другими методами отладки, где вам нужно установить множество вещей, таких как драйверы и SDK.

ВНИМАНИЕ!

В PhoneGap 10, когда вы создаете свое приложение и любые запросы вне приложения (как если бы нет Интернета) не выполняются, вам нужно будет добавить это в ваш config.xml

<gap:plugin name="com.indigoway.cordova.whitelist.whitelistplugin" version="1.1.1" />
<access origin="*" />
<allow-navigation href="*" />
<allow-intent href="*" />

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...