以Capacitor方式安装插件仍需要Cordova插件

问题描述

例如,当我以电容器的方式安装Insomnia插件时,如下所示:

npm install cordova-plugin-insomnia
npm install @ionic-native/insomnia
ionic cap sync

仍然需要我这样安装cordova插件

ionic cordova plugin add cordova-plugin-insomnia

为了工作。否则显示plugin_not_installed

我要使其生效的步骤是:

步骤1:将失眠症添加到提供者(@ ionic-native / insomnia / ngx)

第2步:在构造函数private insomnia: Insomnia中注入失眠症

我忘了什么吗?还是我真的需要ionic cordova plugin add来获得尚不完全支持插件

解决方法

对于大多数人来说可能很明显,但以防万一其他人可能会遇到此问题。

使用电容器时,不应再使用ionic cordova runionic cordova build来启动服务器。

显然您需要启动它this way for livereload

ionic cap run android -l --external
ionic cap run ios -l --external
,

那是因为您的应用程序使用的是cordova而不是电容器。 删除您的platform文件夹,仅要确定并删除不必要的cordova文件(这会增加您的应用程序大小),请从cordova-android中删除cordova-iospackage.json。.您不需要运行它您的应用基于电容器。

然后,运行此命令。

ionic build
npx cap add android
npx cap add ios

对于每个后续版本,如果您添加或删除了插件,请使用npx cap sync

否则请使用npx cap copy

Reference Docs