2015-10-21 8 views
0

У меня есть приложение Ionic, что я могу работать и отладки с помощью Ripple эмулятор запускается из Visual Studio 2015.Как отлаживать на устройстве

Я также могу запустить его на своем Android устройстве, если я «Запуск без отладки».

К сожалению, что-то, что работает на эмуляторе, не работает на устройстве, поэтому мне нужно отлаживать устройство.

Здесь я начинаю сталкиваться с проблемами. Visual Studio зависает в «Установка приложения на устройстве ...» - если я не удалю приложение, которое было установлено, когда я бежал без отладки.

Когда я это делаю, приложение запускается, но оно не попадает ни в какие точки останова, и Visual Studio перестает отвечать на запросы. После того, как "LAUNCH УСПЕХУ" У меня есть такое сообщение:

Command закончил с кодом ошибки 0: CMD/с/с "" C: ..... \ Android \ Cordova \ run.bat --nobuild - -device --debug

Итак ... как получить отладочную работу на устройстве?

ответ

0

Пробовали ли вы с помощью инспектора хрома? Подключите телефон к установленному приложению, откройте его, откройте его и введите в навигационной панели chrome://inspect

+0

У меня нет. У меня был (очень) быстрый взгляд, это может быть полезно, но похоже, что это для отладки веб-сайтов.Вы знаете, будет ли это работать с приложением Ionic/Apache Cordova? Ссылка Я просмотрел: https://developers.google.com/web/tools/chrome-devtools/debug/remote-debugging/remote-debugging – Colin

+0

Да, я использую его для отладки приложений cordova на реальных устройствах. 'chrome: // inspects' показывает вам устройства, распознанные adb. то вы можете выбрать свое устройство и отладить его. – Del

+0

Пробовал 'chrome: // inpects' по найденной ссылке. Chrome и com.facebook.katana указаны в разделе «Устройства», но моего приложения нет. Я установил свое приложение с помощью «ионного запуска android» из командной строки. Есть ли что-то еще, что мне нужно сделать, чтобы получить «признание adb»? – Colin

1

Как и ранее упомянутый выше, вы можете использовать Chrome и набрать chrome://inspect на панели навигации, чтобы отлаживать приложение через USB. Убедитесь, что на вашем устройстве включена функция «Разрешить удаленную отладку» в инструментах разработчика.

Но я предлагаю вам попробовать эмулировать мобильное устройство с помощью инструмента, как тя Ripple Emulator расширение для Chrome, который обеспечивает дополнительное моделирование мобильных функций, как:

  • сенсорных событий
  • агент пользователя
  • Гео- место подмена (с задержкой GPS & провал событий)
  • Accelerator подмены
  • Etc.

Существуют и другие инструменты, обеспечивающие аналогичную функциональность.

Эти, конечно, работают с приложениями Кордовы, как вы упомянули в комментарии.

Наконец, если вы готовы купить инструмент, я могу предложить вам попробовать плагин Telerik's AppBuilder для Visual Studio. Этот инструмент позволяет развернуть приложение и отладить его через Visual Studio. Интерфейс отладки похож на интерфейс Chrome, где вы можете просматривать консоль, ресурсы, сеть, временную шкалу и элементы.

+0

« У меня есть ионный приложение, которое я могу запускать и отлаживать с помощью эмулятора Ripple, запущенного с Visual Studio 2015 ... К сожалению, что-то, что работает на эмуляторе, не работает на устройстве, поэтому мне нужно отлаживать устройство ». – Colin

+0

@Colin Я обновил свой ответ, см. Последний абзац. Кроме того, не возражаете ли вы сказать, что работает на эмуляторе, но не на вашем устройстве? – PeterPan

+0

AppBuilder действительно интересен, но Tools для Apache Cordova утверждают, что я могу развернуть и отладить мое приложение через Visual Studio, по крайней мере, на Android и Windows. Что AppBuilder приносит в таблицу? И исправим мою проблему? Может быть, я должен судить ... Что касается того, что не работает - это угловая директива 'ng-click'. Должно быть легко диагностировать, как только я могу установить контрольные точки – Colin

0

Чтобы исправить это, я поместил следующую строку кода в .js-файл прямо перед строкой кода, в которую я установил точку останова. Кажется, это заставляет приложение остановиться на мгновение и увидеть точку останова.

alert("put whatever you want in here"); 

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

Смежные вопросы