[android] 프로젝트에서 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

그러나 때로는 일부 오류가 표시되고 jenkins에서 오류가 빌드 실패로 끝납니다. 그래서 모든 플러그인을 삭제하는 명령이 있습니까? (설치하는 동안 모든 앱이 작동해야하는 기본 플러그인은 cordova를 통해 자동으로 추가되므로 일부를 찾고 cordova plugin rm -all있었지만 찾을 수 없었습니다)



답변

먼저 플러그인을 나열해야합니다.

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


답변

다음을 사용할 수 있습니다.
cordova plugins list | awk '{print $1}' | xargs cordova plugins rm

cordova plugins list플러그인이 모두 제거되었는지 확인 하는 데 사용합니다.


답변

의 V2.0.0 코르도바 – 체크인 플러그인 프로젝트의 모든 플러그인을 제거 할 수 있습니다 :

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

Cordova CLI를 사용하여 각 플러그인을 제거하려고 시도하지만 실패하면 platforms/및 에서 플러그인을 강제로 제거합니다 plugins/.

config.xml에서도 제거하려면 다음을 사용하십시오.

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

면책 조항 : 나는 cordova-check-plugins의 저자입니다.


답변

터미널 (osx)에서 나는 보통

cordova plugin -l | xargs cordova plugins rm

파이프, 모든 파이프!

조금 확장하려면 :이 명령은 결과를 반복 cordova plugin -l하고cordova plugins rm .

xargs 는 이전에 왜 몰랐는지 궁금해하는 명령 중 하나입니다. 이 혀를 참조하십시오.


답변

이 파이썬 한 줄로 수행합니다.

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]"

분명히 어떤 종류의 오류 조건도 처리하지 않지만 작업이 완료됩니다.


답변

내가 Cordova에서 기억하는 한, 프로젝트에 사용 된 플러그인 목록이 포함 된 “res”폴더에 xml 파일이 있어야합니다. 목록에서 사용하지 않는 플러그인을 제거해야 할 수도 있습니다. 또한 관련 파일을 제거해야합니다.