从javascript钩子获取cordova包名称

我正在写一个带有节点钩子的cordova插件来运行after_prepare。

这仅适用于Android。

从这个钩子中我需要得到cordova包的名字,所以我可以复制一个文件到src / com / example / myproject文件夹(如果包是com.example.myproject)。

如果我知道包名,我可以制作这个path。 我现在有硬编码的工作,但我需要这个工作与两个不同的软件包名称。

有没有办法从插件钩子的代码中获取包名?

module.exports = function(ctx){ var fs = ctx.requireCordovaModule('fs'); var path = ctx.requireCordovaModule('path'); var deferral = ctx.requireCordovaModule('q').defer(); //get package name here //do other stuff } 

我做了很多研究,但一直没能find。

谢谢。

它看起来不像上下文对象可用,但可以尝试parsingconfig.xml。

 module.exports = function(context) { var fs = require('fs'); var path = require('path'); var config_xml = path.join(context.opts.projectRoot, 'config.xml'); var et = context.requireCordovaModule('elementtree'); var data = fs.readFileSync(config_xml).toString(); var etree = et.parse(data); console.log(etree.getroot().attrib.id); }; 

local-webserver插件使用类似的策略来读取configuration属性。