Ionic插件需要在工作之前删除平台和readd平台

Har*_*rts 9 android cordova ionic-framework cordova-plugins

我有这样的package.json,

  "cordovaPlugins": [
    "com.ionic.keyboard",
    "org.apache.cordova.camera",
    "org.apache.cordova.console",
    "org.apache.cordova.device",
    "org.apache.cordova.dialogs",
    "org.apache.cordova.file",
    "org.apache.cordova.file-transfer",
    "org.apache.cordova.geolocation",
    "org.apache.cordova.network-information",
    "org.apache.cordova.splashscreen",
    "cordova-plugin-whitelist",
  ],
  "cordovaPlatforms": [
    "ios",
    "android"
  ]
Run Code Online (Sandbox Code Playgroud)

当我从存储库中提取时,根项目目录没有插件和平台目录.所以我运行"ionic platform add android",这将创建平台目录并安装插件.

但它不起作用,直到我再次运行"离子平台rm android"然后"离子平台添加android",突然它工作正常.

这是什么原因?以及如何解决这个问题,所以下一个开发人员可以通过运行"离子平台添加android"一次拉动回购并直接使其工作?

我正在使用最新的cordova

Lef*_*tyX 13

您可以使用以下选项添加所有插件--save:

cordova plugin add com.ionic.keyboard --save
cordova plugin add org.apache.cordova.camera --save
Run Code Online (Sandbox Code Playgroud)

等等

或者,您可以在添加所有插件后执行此操作:

cordova plugin save
Run Code Online (Sandbox Code Playgroud)

您可以为您的平台执行相同的操作:

cordova platform add android --save
Run Code Online (Sandbox Code Playgroud)

或以后:

cordova platform save
Run Code Online (Sandbox Code Playgroud)

这些命令会在config.xml文件中添加一些新的部分:

<plugin name="org.apache.cordova.device" spec="^0.3.0" />
...
Run Code Online (Sandbox Code Playgroud)

<engine name="android" spec="^4.0.0" />
Run Code Online (Sandbox Code Playgroud)

现在你可以删除平台插件文件夹并运行:

cordova prepare
Run Code Online (Sandbox Code Playgroud)

它应该创建平台并为您下载所有插件.

你可以在这里找到更多信息.


小智 6

以下步骤帮助了我

ionic platform rm android
ionic platform add android
ionic plugin add https://github.com/apache/cordova-plugin-whitelist.git
ionic build android
Run Code Online (Sandbox Code Playgroud)

然后你可以部署你的apk