Отладка приложения Cordova (Android) с помощью нового эмулятора Visual Studio 2015

Я не уверен, делаю ли я что-то глупое или просто нахожусь на переднем крае. Я разрабатываю простое приложение Cordova, но это академическое, поскольку я могу повторить эту проблему со стандартным приложением по умолчанию, созданным Wizzard.

У меня приложение отлично работало и отлаживалось с VS2013, используя как Ripple, так и иногда с реальным устройством. У меня нет постоянного доступа к устройству, поэтому я решил попробовать новый VS2015 CTP5 с эмулятором. Все идет нормально. Все сборки в порядке, и приложение развертывается в эмуляторе и запускается. Однако VS застревает в процессе «развертывания» и никогда не выходит. В той мере, в какой мне нужно «Ctrl-Break» выйти из него. и отладчик никогда не запускается. Последние несколько строк вывода сборки:

2>  Built the following apk(s):
2>      C:\Users\Brett\Documents\VisualStudioCordova\Projects\mblapp\mblapp\bld\Debug\platforms\android\ant-build\CordovaApp-debug.apk
2>  Using apk: `C:\Users\Brett\Documents\VisualStudioCordova\Projects\mblapp\mblapp\bld\Debug\platforms`\android\ant-build\CordovaApp-debug.apk
2>  Installing app on device...
2>  Launching application...
2>  LAUNCH SUCCESS
2>  Command finished with error code 0: `C:\Users\Brett\Documents\VisualStudioCordova\Projects\mblapp\mblapp\bld\Debug\platforms`\android\cordova\run.bat --nobuild,--target=169.254.138.177:5555,--debug
2>  

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

Хорошо, поэтому я вернулся к VS2013, но теперь установка 2015 года что-то изменила, и с помощью Ripple он теперь выходит из кода в неожиданных местах в коде ... не в точках останова ... и консоль javascript говорит «Приостановлено в точке останова» в своем падать. Я не могу получить доступ к эмулятору 2015 года напрямую, но из интереса я оставил эмулятор работающим после того, как 2015 год был закрыт, и МОЖЕТ подключиться И отлаживать с помощью VS 2013... отлично... но это не лучший способ начать отладку...

Мне очень нравится внешний вид нового эмулятора, и, кажется, он отлично работает с 2013 годом. Кто-нибудь знает, как развернуть VS2013 на новом эмуляторе? .. Я попытался запустить его и добился определенного успеха. Но я не могу найти, где VS2015 спрятал свой VHD-файл.

Или кто-нибудь знает, почему VS2015 может развертываться неправильно. Я рад пойти с решением, которое работает. Просто сейчас я застрял, не двигаясь вперед, и это удаление 2015 и, вероятно, переустановка 2013, чтобы вернуться... Большое спасибо.


person Brett JB    schedule 30.01.2015    source источник


Ответы (3)


ОК .. Я опубликовал это как ответ, потому что он касается части этого .. и я немного боролся, так что это может помочь кому-то еще. Запуск эмулятора от VS2013. Вам нужно зайти в папку

C:\Program Files (x86)\Microsoft Visual Studio Emulator для Android\1.0

где установлен эмулятор. Запустив его хотя бы один раз из VS2015, он создал файл с именами vsemu.vhd и vsemu.sdcard.vhd. Скопируйте оба этих файла во что-то похожее в той же папке, которую я использовал «myemu». Затем, чтобы запустить эмулятор, я создал простой ярлык с целевым свойством:

"C:\Program Files (x86)\Microsoft Visual Studio Emulator для Android\1.0\XDE.exe" /vhd bretts.vhd /video 1080x1920

это также устанавливает разрешение. Вы можете найти все флаги запуска и т. д., используя:

...XDE/?

Я еще не уверен, но я думаю, что он хранил различные ярлыки приложений в файле SD-карты ... хотя я бы не поклялся в этом. Сделаю репост, если там что-то изменится.

Хорошо, отладка. Я запустил VS2013 и установил цель отладки как «Устройство». Это работало нормально .. до сих пор.

Я все еще хотел бы знать, почему 2015 не развертывается должным образом, хотя сейчас я просто предполагаю, что это «кровоточащая» часть передового края. Ваше здоровье

person Brett JB    schedule 30.01.2015

В Visual Studio 2015 CTP5 существует известная проблема с развертыванием проектов Cordova в эмуляторе Visual Studio для Android. Проблема будет решена в следующем релизе.

А пока попробуйте несколько обходных путей:

  1. Найдите на своем компьютере файл Microsoft.VisualStudio.MultiDeviceHybridApps.dll. Будет две копии: одна в папке "Program Files\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\Emulator for Android\" (версия dll для эмулятора VS) и одна в другой папке в папке "Program Files\ Microsoft Visual Studio 14.0\Common7\IDE\Extensions\" (имя папки меняется, но это всегда какой-то случайный хеш; это версия dll для Cordova). Закройте VS2015 и замените файл Microsoft.VisualStudio.MultiDeviceHybridApps.dll в папке «Эмулятор для Android» на файл в папке Cordova (удалите файл Emulator, скопируйте файл Cordova и вставьте его в папку Emulator). Затем перейдите в «C:\Users\ваше имя пользователя\AppData\Local\Microsoft\VisualStudio\14.0\Extensions» и удалите содержимое этой папки.

  2. Создайте новое приложение Visual C++ Native-Activity (Файл > Создать > Проект в разделе Installed\Templates\Visual C++\Cross Platform\Native-Activity Application (Android)) и запустите его, а затем вернитесь к проекту Cordova.

  3. Переустановите CTP5 и эмулятор Visual Studio для Android и переустановите.

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

person John Kemnetz    schedule 03.02.2015
comment
Спасибо, Джон.. Я попробовал 1.. и нашел не только 1 дополнительную папку «случайный хэш» с файлом, но и 3.. в дополнение к папке эмулятора. Глядя на них, 1 из них был идентичен по размеру эмулятору, а два других были меньше, но идентичны друг другу по размеру 14 872 байта.. поэтому я поставил один из них на место эмулятора, так как они более разные. - Это, к сожалению, не сработало, поэтому я подумал, что попробую ваш вариант 2. Я обнаружил, что у меня не установлен этот шаблон С++, и я не вижу его в сети. Так что это до варианта 3. - person Brett JB; 04.02.2015
comment
Извините .. не хватает символов в предыдущем комментарии :) Я попробую вариант 3, но это займет у меня некоторое время .. но пока спасибо за вашу помощь. Приятно видеть, что вы, ребята, хотя бы наблюдаете за этим пространством. Я вернусь через несколько дней, когда у меня будет возможность переустановить.. Пока я нахожусь.. есть ли какие-либо ссылки/указатели на получение НОВОГО эмулятора, который Fiddler может прослушивать на моем собственном хосте. Есть много вещей для версии Win Phone, но не для Android? Спасибо, Бретт. - person Brett JB; 04.02.2015
comment
Итак, я перепробовал все ваши варианты, ни один из них не позволил мне пройти этап развертывания. Приложение развертывается в эмуляторе и работает, но установленные мной точки останова никогда не срабатывают. - person VeldMuijz; 19.02.2015