<config-file>
看起来超级有用的覆盖......唉,这似乎是PhoneGap唯一的功能。对于 Cordova,您可能需要使用钩子。
一个很好的例子可以在这里找到
我修改了脚本以添加我需要的功能(我需要 GPS 和相机作为可选功能)。
module.exports = function (context) {
var fs = context.requireCordovaModule('fs'),
path = context.requireCordovaModule('path');
var platformRoot = path.join(context.opts.projectRoot, 'platforms/android');
var manifestFile = path.join(platformRoot, 'AndroidManifest.xml');
if (fs.existsSync(manifestFile)) {
fs.readFile(manifestFile, 'utf8', function (err, data) {
if (err) {
throw new Error('Unable to find AndroidManifest.xml: ' + err);
}
var insertAt = data.indexOf("</manifest>");
var optionalFeatures = "<uses-feature android:name=\"android.hardware.LOCATION\" android:required=\"false\"/><uses-feature android:name=\"android.hardware.location.GPS\" android:required=\"false\"/><uses-feature android:name=\"android.hardware.camera\" android:required=\"false\"/><uses-feature android:name=\"android.hardware.camera.autofocus\" android:required=\"false\"/>";
var result = data.slice(0, insertAt) + optionalFeatures + data.slice(insertAt);
fs.writeFile(manifestFile, result, 'utf8', function (err) {
if (err) throw new Error('Unable to write into AndroidManifest.xml: ' + err);
})
});
}
};
然后在 config.xml 中设置钩子
<hook type="after_build" src="scripts/afterBuild.js" />
希望能帮助到你