【问题标题】:Remove old Cordova Plugin删除旧的 Cordova 插件
【发布时间】:2016-12-17 00:06:41
【问题描述】:

我正在使用 Cordova 构建移动应用程序。我试图找到一些手势检测插件来为应用程序添加一些滑动功能。我安装了一个插件“com.rossgerbasi.cordova.plugins.glass.Glass”,但不再需要它。我在尝试卸载它时遇到了问题。我运行 cordova remove plugin com.rossgerbasi.cordova.plugins.glass.Glass 时出现了一些错误。经过一番谷歌搜索后,我能够成功将其删除,但当我运行 cordova plugin list 时,它不再存在。

所以我删除并重新添加了 ios 和 android 平台。然而,现在当我运行 cordova run android 时,应用程序会构建并安装在我的设备上,但会立即崩溃并出现 ClassNotFoundException: com.rossgerbasi.cordova.plugins.glass.Glass

我在 C 盘中搜索了 rossgerbasi,它发现了一些结果,包括在 platform\android 中对它的引用。我将它们全部删除并在 android config.xml 中删除了它的条目,但该文件是自动生成的,因此在我运行该条目返回的应用程序后。仍然有一些东西仍然保留着这个插件并将它添加到我的应用程序中。我需要做什么才能从我的应用程序中删除此插件?

【问题讨论】:

    标签: android cordova plugins


    【解决方案1】:

    如果运行cordova plugin rm <plugin_id> 不起作用,那么我过去所做的只是手动删除插件。我删除了<cordova_project>/plugins/<plugin> 下的插件文件夹。我还删除了<cordova_project>/plugins/<platform.json> & <cordova_project>/plugins/fetch.json 中的插件条目

    【讨论】:

      【解决方案2】:

      如果您手动从插件文件夹中删除插件(通常不建议这样做),要删除插件依赖项,请执行以下操作:

      1. 移除现有平台
      2. fetch.json 文件夹中的plugins 文件夹中删除所需的插件引用
      3. 重新添加所需的平台并重建它

      【讨论】:

        【解决方案3】:

        好吧,我最终解决了这个问题。我在我的项目目录中的文本 rossgerbasi 的文件中进行了另一次搜索。我在一些文件中找到了对它的引用。我删除了这些文件中对该插件的引用,现在该应用程序再次运行。 cordova_plugins.js 中仍然有对它的引用,我猜这是导致问题的原因。我的猜测是它告诉 Cordova 使用哪些插件。出于某种原因,在我运行 cordova remove 以删除该插件后,它并没有像应有的那样从该文件中删除。如果有人能告诉我我是否正确,那就太好了。

        【讨论】:

        • 所有必需的插件信息都将存储在插件文件夹内的 fetch.json 文件中。手动删除插件文件夹后,若要删除插件的依赖,最好先删除各个平台再重新添加。最重要的是,来自 fetch.json 文件的引用也需要被删除。删除平台、删除参考 ion fetch.json 并重新添加平台后,cordova_plugin.js 引用将自​​动关闭。希望能帮助到你。随时通知我
        • 谢谢,我看了,它还在 fetch.json 中,所以我也从那里删除了它。
        • 只需要从 fetch.json 中删除它
        • 如果这种情况再次发生,我会记住这一点。
        猜你喜欢
        • 2017-03-12
        • 2013-11-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-06
        相关资源
        最近更新 更多