Как использовать более современный плагин Cordova в Visual Studio 2017

Недавно я добавил плагины «Камера» и «Файл» в свое приложение Ionic 1.3/Cordova, и теперь приложение периодически дает сбой на устройстве Android, которое я использую.

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

Если я удалю плагин камеры и добавлю его снова, я увижу это в окне вывода:

Предупреждение: неудовлетворенные требования проекта для последней версии cordova-plugin-camera: Предупреждение: cordova-android (5.2.1 в проекте,

= 6.3.0 требуется) Предупреждение: загружается самая высокая версия cordova-plugin-camera, которую поддерживает этот проект: 2.4.1 (последняя версия — 4.0.2)

В настоящее время в Visual Studio 2017 вы можете указать набор инструментов, который использует Cordova 6.3.1 или глобальную версию Cordova, поэтому я решил попробовать использовать последнюю версию Cordova и в командной строке ввел: npm install -g cordova. Мне пришлось перезагрузить компьютер, но теперь в моем config.xml я могу выбрать «Global Cordova 8.0.0».

Теперь, чтобы использовать последний плагин камеры, мне нужно получить cordova-android платформу >=6.3.0. Но если я использую cordova platform add android, произойдет сбой, потому что эту команду нужно запустить внутри проекта на основе Cordova.

Поэтому я перехожу к моей существующей папке проекта и снова запускаю cordova platform add android. Он пытается получить [email protected] - так что я думаю, что сейчас он использует Cordova 6.3.1, потому что это локальная версия. <edit> Неправильно! - cordova -v говорит мне, что это 8.0.0, значит, он выбирает 5.2.0 по какой-то другой причине.</edit>

Итак, что мне нужно сделать сейчас? Нужно ли удалять локальную кордову из командной строки? Удалять ли существующие папки node_modules, platform, plugins? Мне изменить config.xml? (текущий пример записи: - <plugin name="cordova-plugin-camera" spec="~2.4.1" />. Если я все это сделаю, то решу, что мне нужно вернуться к использованию набора инструментов Visual Studio, придется ли мне хранить копии всего и устанавливать вручную, или я могу просто вернуться и выбрать набор инструментов 6.3.1 очередной раз?


person Colin    schedule 16.03.2018    source источник


Ответы (2)


Изменить версию Cordova CLI в Visual Studio 2017 не так просто, как может показаться.

Вот шаги, которые я должен был выполнить, чтобы перейти на Cordova 7.1.0 и cordova-android 6.3.0, это, безусловно, позволит вам перейти на Cordova 8.0 и cordova-android 7.1.0.

Следуй этим шагам:

Go to File > New > Project > Blank App (Apache Cordova)

Откройте config.xml в режиме просмотра кода и найдите это:

<vs:toolsetVersion>6.3.1</vs:toolsetVersion>
<engine name="android" spec="5.2.1" />

Заменить:

<vs:toolsetVersion>8.0.0</vs:toolsetVersion>
<engine name="android" spec="7.1.0" />

Где 8.0.0 — ваша глобально установленная версия Cordova.

Выберите Device в качестве цели.

Сейчас Build > Build Solution

Сохраните, закройте и перезагрузите проект. При доступе к config.xml в режиме дизайнера вы увидите Global Cordova 8.0.0 в качестве выбранного набора инструментов.

введите здесь описание изображения

Для сборки вам может потребоваться использовать внешние инструменты сборки Android SDK (я думаю, API 27 - это был API 26 для CLI 7.1.0) вместо тех, которые предоставляются Visual Studio (API 25).

введите здесь описание изображения

Используйте Android SDK Manager для управления версиями. Студия для этого.

введите здесь описание изображения

Не забудьте подписаться на рекомендации от Microsoft по изменению интерфейса командной строки в существующих проектах. Однако я настоятельно рекомендую создать новый, а затем импортировать свои файлы и добавить свои плагины, чтобы избежать потенциальных проблем.

person andreszs    schedule 23.04.2018
comment
На самом деле я сам не пробовал этот ответ, потому что сбой, который у меня был, исчез после того, как я выполнил упражнение по удалению и повторному добавлению всех моих плагинов. Должно быть, у меня каким-то образом появился плагин, несовместимый с моей версией Cordova. - person Colin; 24.04.2018
comment
@Colin после изменения версии CLI вы должны удалить и повторно добавить все плагины. Это хорошая практика для проверки возможных несовместимостей и обновления ваших плагинов. Я рад, что этот ответ помог вам. - person andreszs; 24.04.2018
comment
абсолютно. Но на самом деле я не менял версию CLI. Мне не нужно было. Я мог бы сделать это сейчас, когда я знаю, как. - person Colin; 24.04.2018

После нескольких попыток я нашел способ:

Выполните следующие действия:

  1. установите nodejs 4.8.7 на свой компьютер

  2. в Visual Studio перейдите в меню «Инструменты»> «Параметры»> «Инструменты для apache cordova» и снимите флажок «использовать изолированную версию NodeJS»

  3. Отредактируйте файл taco.json вашего проекта и установите "cordova-cli": "7.1.0"

  4. Откройте новую консоль и установите Cordova на свой компьютер (npm install -g [email protected])

Для сборки Android:

  1. открыть подсказку, цифру android и нажать клавишу возврата
  2. загрузите API 26 SDK из инструмента
  3. загрузите gradle 2.x и поместите папку bin в системный путь
  4. установите jdk 1.8.x и установите для него системную переменную java_home
  5. перезагрузить систему

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

person Frix33    schedule 16.03.2018