我在Cordova编辑插件Java代码的地方?

时间:2015-08-08 13:52:09

标签: android cordova cordova-plugins

我在我的Cordova project添加了一个带有Java代码(适用于Android)的插件。现在可以在plugins文件夹下找到相同的java文件,也可以在platforms / android文件夹下找到。不幸的是,当我编辑plugins文件夹中的代码并构建应用程序时,平台文件夹下的代码不会更改,并且模拟的应用程序永远不会更新。我还需要做点什么吗?

更新

好吧,似乎没有"自动"更新平台文件夹中的代码的方法。一个人必须重新添加它。请参阅Cordova 3.5, how to update local plugin?In Phonegap/Cordova 3.0+, is there any way to refresh plugins after you make changes?

或者有人知道更好的方法吗?

3 个答案:

答案 0 :(得分:0)

您使用cmd添加插件或为您的cordova项目手动添加插件。

您可以使用cmd直接添加插件,在目录中选择您的项目并直接点击插件网址示例:cordova插件添加nl.x-services.plugins.socialsharing

并自动添加所有插件文件,即插件权限。

答案 1 :(得分:0)

这是旧的,但我正在搜索,这个没有答案。如果您有自己创建的插件,则可以添加目录而不是url。因此,如果您在github上有需要修改的模板,则需要克隆它,进行更改并使用以下内容添加:

cordova plugin add /path/to/plugin --nofetch 

请参阅docs for cordova cli

我认为每次进行更改时都需要执行此命令,在此之前需要删除插件:

cordova plugin remove com.example.plugin.name

如果创建简单的节点脚本,可以在文件更改时执行此操作,从而加快速度:

var watch = require('watch');
var exec = require('child_process').exec;
if (process.argv.length == 4) {
    var name = process.argv[2]
    var path = process.argv[3];
    watch.watchTree(path, function() {
        var cmd = 'cordova plugin remove ' + name +
            ' && cordova plugin add ' + path + ' --nofetch';
        console.log(cmd);
        exec(cmd, function (error, stdout, stderr) {
            if (error !== null) {
                console.log('exec error: ' + error);
            } else {
                console.log('done');
            }
        });
    });
} else {
    console.log('usage: ' + process.argv[1] + ' [NAME] [PATH]');
}

然后你可以保存为plugin.js并运行(从你的cordova应用程序路径):

node plugin.js com.example.plugin.name /path/to/plugin

当你放置一个以上的插件时它会起作用。在运行之前,您需要执行:

npm install -g watch

或:

npm install --save-dev watch

cordova应用程序有package.json文件,所以这个依赖项将保存在那里。

答案 2 :(得分:0)

我刚刚/已经解决了相同的问题,找到了解决方案,并认为应该在这里:

在构建时,插件目录中java文件的更改不会更新,但会在platform / android / app / src / main / java / *中对其进行编辑。