【问题标题】:Installing Cordova plugin安装 Cordova 插件
【发布时间】:2016-03-28 14:16:48
【问题描述】:

当我尝试通过 CLI 安装 Cordova 插件时
例如:

cordova plugin add org.apache.cordova.camera

我收到以下回复:

Error: Current working directory is not a Cordova-based project.

我猜自我最初创建应用以来,Android Studio 已经执行了某种项目转换..

有人可以指点我解决这个问题,还是手动安装插件?

【问题讨论】:

  • Android Studio不应该修改cordova文件夹结构,你是从cordova项目的根目录运行cordova命令还是从android项目(应该从cordova根目录运行)?
  • 您能否重试带有 --verbose 标志的命令,看看是否有其他信息可以帮助找到错误原因? cordova plugin add --verbose org.apache.cordova.camera
  • 原来将我的 Cordova 项目保留在 Dropbox 文件夹中是它们不再是 Cordova 项目的原因...... Dropbox 不会上传隐藏目录,然后同步并有效地删除本地隐藏以匹配。将 Cordova 项目存储在 Dropbox 中不是一个好主意!

标签: android cordova plugins


【解决方案1】:

您必须确保在项目的根文件夹中使用此命令,而不是在平台或平台 android 中。

如果仍然出现这种情况,那是因为缺少 .cordova 目录(它是一个隐藏文件夹),可能您必须重新生成项目

【讨论】:

  • 我从根文件夹运行,其中包含 config.xml、挂钩、输出、平台和插件。我通过“cordova create”创建了该应用程序。和“cordova 平台添加 android”。然后在 Android Studio 中,“导入项目”-> ...->“从现有源创建”。
  • 我创建了一个新项目并将插件安装到该项目中,然后将文件夹从插件中复制到实际项目中。我还检查了 Manifest 文件,发现只有一个额外的权限可以添加。不过,这似乎不是全部,因为我仍然无法使用该插件应该添加的功能?
  • 如果您将插件复制到项目/插件文件夹中,则不需要任何其他内容,即使在构建平台后也会更新清单属性。如果你复制到platform/android/...,你应该检查manifest、src文件夹等等。
  • 我把dummy项目中的项目文件夹/plugins/cordova-plugin-camera文件夹复制到了真实项目中,然后修改了/platforms/android/AndroidManifest.xml和/platforms/android/res/xml /config.xml 但该插件应该提供的功能 navigator.camera.getPicture() 只会导致“无法读取未定义的属性 'getPicture'”。我是否遗漏了什么,或者我应该假设插件和/或我的代码已损坏?
  • 在 /platforms/android/android.json 和 /platforms/android/assets/www/cordova_plugins.js 中找到要进行的其他修改,我还找到了其他文件夹 /platforms/android/src/org/ apache/cordova/camera 和 /platforms/android/assets/www/plugins/cordova-plugin-camera 进行复制。现在它似乎工作了!
【解决方案2】:

最后我创建了一个新的虚拟项目,安装了插件,然后将文件复制到真实项目中。

我现在已经用几个插件对此进行了测试,它似乎每次都能正常工作,所以对于其他发现这个问题的人来说:

1)

$ mkdir TempProject
$ cd TempProject
$ cordova create .
$ cordova platform add android
$ cordova plugin add plugin-name

2) 复制文件夹

/plugins/[plugin-folder]
/platforms/android/assets/www/plugins/[plugin-folder]
/platforms/android/src/org/apache/cordova/[plugin-folder]

3) 检查这些文件是否有更新

/platforms/android/android.json
/platforms/android/AndroidManifest.xml
/platforms/android/assets/www/cordova_plugins.js
/platforms/android/res/xml/config.xml

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-03-12
    • 2016-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-14
    • 1970-01-01
    相关资源
    最近更新 更多