0

我想为 phonegap/cordova 开发一个插件。我将在 /plugins/ 中创建一个文件夹

我想从命令行执行:

phonegap build android或者phonegap run android

我想将 .java 文件从我的插件文件夹复制到 /platforms/android/src

大多数插件在安装时被复制,但不是在构建、运行任务时。

知道在哪里放置要编辑的 xml 文件吗?

编辑:

这里看来我需要一个在某处声明/创建的before_build文件/任务,在哪里?- 并且需要执行after_plugin_add这里提出的操作

4

1 回答 1

0

是安装脚本的来源。

需要在运行/构建时执行的代码部分是:

// queue up native stuff
        sourceFiles && sourceFiles.forEach(function(source) {
            actions.push(actions.createAction(handler["source-file"].install, [source, plugin_dir, project_dir, plugin_id], handler["source-file"].uninstall, [source, project_dir, plugin_id]));
        });

        headerFiles && headerFiles.forEach(function(header) {
            actions.push(actions.createAction(handler["header-file"].install, [header, plugin_dir, project_dir, plugin_id], handler["header-file"].uninstall, [header, project_dir, plugin_id]));
        });

        resourceFiles && resourceFiles.forEach(function(resource) {
            actions.push(actions.createAction(handler["resource-file"].install, [resource, plugin_dir, project_dir], handler["resource-file"].uninstall, [resource, project_dir]));
        });

        libFiles && libFiles.forEach(function(lib) {
            actions.push(actions.createAction(handler["lib-file"].install, [lib, plugin_dir, project_dir], handler["lib-file"].uninstall, [lib, project_dir]));
        });




// run through the action stack
actions.process(platform, project_dir, function(err) {
    if (err) {
        if (callback) callback(err);
        else throw err;
    } else {

        // queue up the plugin so prepare knows what to do.
        config_changes.add_installed_plugin_to_prepare_queue(plugins_dir, plugin_basename, platform, filtered_variables, is_top_level);
        // call prepare after a successful install
        require('./../plugman').prepare(project_dir, platform, plugins_dir);

        require('../plugman').emit('results', plugin_id + ' installed.');

是描述具有这些名称的文件夹结构的响应。

于 2013-08-29T15:31:11.333 回答