Ответ 1
Сначала вы должны указать свои плагины:
cordova plugin list
С помощью этого результата вы можете просто:
cordova plugin remove <PLUGIN_NAME>
Например:
cordova plugin remove org.apache.cordova.media
Надеюсь, что это поможет.
Как-то в моем приложении установлено множество плагинов cordova, из-за чего для доступа требуется почти все - от моих контактов до текущего местоположения (хотя это приложение не нуждается в этом).
Это приложение создается через jenkins, и насколько я понимаю, одним из решений является удаление каждого плагина с помощью одной команды, поэтому он будет выглядеть следующим образом:
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
Но иногда он показывает некоторые ошибки и с jenkins любая ошибка заканчивается сбоем сборки, так же есть ли какая-либо команда, которая удаляет все плагины? (во время установки плагины, в которых требуется любое приложение для работы, автоматически добавляются через кордову, поэтому я искал некоторые cordova plugin rm -all
, но не смог найти его)
Сначала вы должны указать свои плагины:
cordova plugin list
С помощью этого результата вы можете просто:
cordova plugin remove <PLUGIN_NAME>
Например:
cordova plugin remove org.apache.cordova.media
Надеюсь, что это поможет.
Вы можете сделать это с помощью bash (после перехода в каталог проекта Кордовы):
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 $1}' | xargs cordova plugins rm
и используйте cordova plugins list
, чтобы проверить, все ли удалены плагины.
v2.0.0 cordova-check-plugins позволяет удалить все плагины в проекте:
$ npm install -g cordova-check-plugins
$ cordova-check-plugins --remove-all
Он попытается использовать CLI Cordova для удаления каждого плагина, но если это не удастся, это приведет к удалению плагина из platforms/
и plugins/
.
Если вы также хотите удалить из config.xml, используйте:
$ cordova-check-plugins --remove-all --save
Отказ от ответственности: я являюсь автором плагинов cordova-check-plugins
Я делаю это с одним слоем python:
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 plugin remove <pluginid>
Например, я запустил cordova plugin
и получил список плагинов, после чего я использовал id для плагина для удаления
cordova plugin remove com.monday.contact-chooser
Вы можете получить помощь в командной строке, набрав
cordova help <command>
Сценарии, основанные на обработке списка установленных плагинов, могут не работать, поскольку существуют зависимости между установленными плагинами (e, g, cordova-plugin-file и cordova-plugin-file-transfer).
В этом примере script сначала найдет файл-плагин, затем попытается удалить его, и мы получим сообщение об ошибке, поскольку это требует передачи файлов. Поэтому мы будем иметь
При запуске команды: 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 удалить Android/IOS
плагин Cordova удалить
cordova platform rm android
cordova plugin rm cordova-plugin-firebase
cordova platform add android