Cordova 10不识别engine标签 如何在config.xml中指定平台版本
问题根因
Cordova 从10.0版本开始,默认禁用了旧版本中自动读取config.xml的<engine>标签自动添加对应平台的特性,所以即使你配置了engine标签,直接执行build命令也会提示没有添加平台。
解决方案
方案1:构建命令添加--restore参数(推荐,无需改动现有配置)
你可以直接在原有的构建命令末尾添加--restore参数,Cordova会自动读取config.xml中的engine配置,自动安装对应版本的平台并完成构建,不需要提前手动执行cordova platform add命令:
# 安卓构建命令 cordova build android --restore # iOS构建命令 cordova build ios --restore
方案2:开启全局自动恢复平台配置
如果不想每次构建都加参数,可以修改Cordova配置文件开启默认自动恢复特性:
- 打开项目根目录下
.cordova/config.json文件(如果不存在可以新建) - 加入以下配置:
{ "auto_restore_platforms": true }
配置完成后,后续直接执行cordova build android等命令就会自动读取engine配置添加对应版本平台,和你之前Cordova9的使用逻辑完全一致。
补充说明
你现有config.xml中的<engine>标签写法完全符合Cordova10的规范,不需要调整。另外<platform name="android" spec="10.0.0">上的spec属性是无效配置,平台版本仅识别全局的
内容的提问来源于stack exchange,提问作者Simone Campagna
相关产品推荐
相关产品推荐

