我能够使用 build-extras 选项以及 Android 7.1 来做到这一点
在您的项目根目录中,创建一个名为build-extras.gradle的文件
把这个放进去保存
android {
defaultConfig {
ndk {
abiFilters "armeabi", "armeabi-v7a", "x86", "mips"
}
}
}
接下来,在您的脚本文件夹中,创建一个名为 update_build_gradle.js 的新脚本
把这个放进去保存
module.exports = function (context) {
if (context.opts.cordova.platforms.indexOf('android') < 0) {
return;
}
console.log("Starting gradle modifications");
const path = require('path');
const fs = require('fs');
const gradlePath = path.join(context.opts.projectRoot, 'platforms/android/app/build-extras.gradle');
const gradleExtraPath = path.join(context.opts.projectRoot, 'build-extras.gradle');
return new Promise(function (resolve, reject) {
fs.copyFile(gradleExtraPath, gradlePath, function (err) {
if (err) {
console.error("Failed to copy to " + gradlePath + " from " + gradleExtraPath);
reject(err);
} else {
console.log("Copied to " + gradlePath + " successfully");
resolve();
}
});
});
};
最后,打开你的 config.xml,找到你的 <platform name="android"> 树并输入这个新的钩子
<hook src="scripts/update_build_gradle.js" type="before_build" />
注意这里的文档https://cordova.apache.org/docs/en/latest/guide/platforms/android/index.html#extending-buildgradle 是错误的。
。该文件必须放在android平台目录(/platforms/android)中,因此建议您通过附加到before_build钩子的脚本将其复制。
它实际上需要在 /platforms/android/app 中
-编辑
从 cordova 版本 9 开始,您不能再使用 requireCordovaModule。但您可以安全地替换为 require。