Удаление плагинов cordova из проекта


Как-то в моем приложении установлены многие плагины cordova, и из - за этого он требует доступа почти ко всему-от моих контактов до текущего местоположения ( хотя это приложение не нуждается в этом ).

Это приложение строится через Дженкинс и, насколько я понимаю, одно решение-удалить каждый плагин с помощью одной команды, так что это будет похоже:

cordova plugin rm org.apache.cordova.battery-status
cordova plugin rm org.apache.cordova.camera
cordova plugin rm org.apache.cordova.contacts
cordova plugin rm org.apache.cordova.geolocation
cordova plugin rm org.apache.cordova.media
cordova plugin rm org.apache.cordova.media-capture
cordova plugin rm org.apache.cordova.splashscreen
cordova plugin rm org.apache.cordova.vibration

но иногда он показывает некоторые ошибки, и с Дженкинсом любая ошибка заканчивается неудачей сборки, так что есть любая команда, которая удаляет все плагины? ( во время установки основные плагины, которые требуют любого приложения для работы, добавляются автоматически через cordova, поэтому я искал некоторые cordova plugin rm -all, но не смог найти его )

12 79

12 ответов:

во-первых, вы должны перечислить ваши плагины:

cordova plugin list

С таким результатом, вы можете просто сделать:

cordova plugin remove <PLUGIN_NAME>

например:

cordova plugin remove org.apache.cordova.media

надеюсь, что это помогает.

вы также можете сделать это с помощью bash (после переключения в каталог проекта Cordova):

for i in `cordova plugin ls | grep '^[^ ]*' -o`; do cordova plugin rm $i; done

из терминала (osx) я обычно использую

cordova plugin -l | xargs cordova plugins rm

труба, труба все!

чтобы немного расширить: эта команда будет перебирать результаты cordova plugin -l и скормить его cordova plugins rm.

xargs это одна из тех команд, которые вы удивляетесь, почему вы не знали прежде. посмотреть тут.

вы могли бы использовать: cordova plugins list | awk '{print }' | xargs cordova plugins rm

и использовать cordova plugins list чтобы проверить, если плагины все удалил.

П2.0.0 о cordova-check-plugins позволяет удалить все плагины в проекте:

$ npm install -g cordova-check-plugins
$ cordova-check-plugins --remove-all

он попытается использовать Cordova CLI для удаления каждого плагина, но если это не удастся, он заставит удалить плагин из platforms/ и plugins/.

если вы также хотите удалить из конфига.xml, используйте:

$ cordova-check-plugins --remove-all --save

отказ от ответственности: я являюсь автором cordova-check-plugins

Я делаю это с помощью этого python one-liner:

python -c "import subprocess as sp;[sp.call('cordova plugin rm ' + p.split()[0], shell=True) for p in sp.check_output('cordova plugin', shell=True).split('\n') if p]"

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

насколько я помню из Кордовы, у вас должен быть xml-файл в папке "res", содержащий список плагинов, используемых в вашем проекте. Вероятно,вам нужно удалить эти неиспользуемые плагины из списка. А также вы должны удалить связанные файлы.

это командная строка для удаления плагинов в Cordova

cordova plugin remove <pluginid>

например, я побежал cordova plugin и получил список плагинов, то я использовал код для плагина удалить

cordova plugin remove com.monday.contact-chooser

вы можете получить помощь в командной строке набрав

cordova help <command>

Скрипты, основанные на обработке списка установленных плагинов,могут не работать, поскольку существуют зависимости между установленными плагинами (e, g, cordova-plugin-file и cordova-plugin-file-transfer).

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

при выполнении команды: cordova plugin remove <PLUGIN NAME>, убедитесь, что вы не добавляете номер версии к имени плагина. Просто имя плагина, например:

cordova plugin remove cordova.plugin_name 

и

cordova plugin remove cordova.plugin_name 0.01 

или

cordova plugin remove "cordova.plugin_name 0.01"

если есть проблема с привилегиями, запустите sudo, если вы находитесь в системе *nix, например:

sudo cordova plugin remove cordova.plugin_name

затем вы можете добавить --save удалить файл config.XML-файл. Например:

cordova plugin remove cordova.plugin_name --save
  • открыть папку
  • список плагинов (cordova plugin list)
  • ионный cordova плагин удалить "pluginName"

должно быть прекрасно!

Если вышеуказанное решение не сработало, и вы получили необработанный отказ от обещания, попробуйте выполнить следующие шаги:

  1. очистите проект Кордова

    Кордова чистый!--1-->

    1. удалить платформе

Кордова платформа удалить android / ios

  1. затем удалить плагин

cordova плагин удалить

  1. добавить платформы и запустить проект Это сработало для меня.