Cordova-android添加平台时如何修改自动生成的project.properties文件
解决方案
方案1:通过config.xml配置固定依赖(最推荐)
直接修改项目根目录下的config.xml,在<platform name="android">节点下添加如下配置:
<platform name="android"> <!-- 此处保留你原有的其他Android平台配置 --> <framework src="androidx.appcompat:appcompat:1.3.1" /> </platform>
你可以将版本号替换为任意可用的稳定版本,比如1.3.2。Cordova执行cordova platform add android时会优先采用你显式声明的依赖版本,覆盖默认的1.+动态版本规则,生成的project.properties文件会自动写入固定版本号,无需后续手动修改。
如果上述配置不生效,大概率是第三方插件强制引入了动态版本依赖,可使用下面的钩子方案处理。
方案2:通过Cordova构建钩子自动修改配置
你可以配置平台添加完成后自动执行的钩子脚本,自动替换project.properties中的版本号:
- 在项目根目录新建路径
hooks/after_platform_add/,在该路径下新建fix_appcompat_version.js文件,写入如下代码:
const fs = require('fs'); const path = require('path'); module.exports = function (context) { const propsPath = path.join(context.opts.projectRoot, 'platforms/android/project.properties'); let propsContent = fs.readFileSync(propsPath, 'utf8'); // 将动态版本替换为你需要的固定版本 propsContent = propsContent.replace(/cordova\.system\.library\..*=androidx\.appcompat:appcompat:1\.\+/g, 'cordova.system.library.15=androidx.appcompat:appcompat:1.3.1'); fs.writeFileSync(propsPath, propsContent, 'utf8'); }
- 如果是Linux/macOS环境,需要给脚本添加执行权限:
chmod +x hooks/after_platform_add/fix_appcompat_version.js
后续每次执行cordova platform add android完成后,钩子会自动运行替换版本号,适配构建服务器的自动化打包流程。
内容的提问来源于stack exchange,提问作者Marc Rasmussen
相关产品推荐
相关产品推荐

