Ionic从cordova-android 9.1.0升级到11遇问题求助
升级cordova-android 9.1.0至11的问题排查与解决
一、平台添加错误的修复步骤
清理旧平台残留文件
先彻底移除旧Android平台及缓存,避免版本冲突:ionic cordova platform rm android rm -rf platforms/android rm -rf plugins/android.jsonWindows用户替换为:
ionic cordova platform rm android rd /s /q platforms/android del plugins/android.json验证cordova-cli版本兼容性
cordova-android 11要求cordova-cli版本≥10.0.0,先检查当前版本:cordova -v若版本低于10,执行全局升级:
npm install -g cordova@latest检查Android SDK环境配置
cordova-android 11依赖以下SDK组件,需通过Android Studio的SDK Manager确认已安装:- Android SDK Platform 33(若指定targetSdkVersion为32,需同时安装对应版本SDK)
- Android Build Tools 33.0.0+
- Android Command-line Tools 最新版
同时确保ANDROID_SDK_ROOT环境变量配置正确。
完善config.xml配置
除你已完成的配置外,补充以下内容:- 将版本配置放在
<platform name="android">标签内,避免全局冲突:<platform name="android"> <preference name="android-targetSdkVersion" value="32" /> <preference name="android-minSdkVersion" value="21" /> <preference name="android-compileSdkVersion" value="33" /> </platform> - 更新所有插件至兼容cordova-android 11的版本:
ionic cordova plugin update cordova-plugin-splashscreen ionic cordova plugin update cordova-plugin-whitelist
- 将版本配置放在
二、NgModule装饰器构建错误的修复
升级Angular版本至兼容版
cordova-android 11与Angular 12以下版本存在兼容性问题,执行升级命令:ng update @angular/cli @angular/core按终端提示处理依赖冲突。
修复NgModule语法问题
检查报错组件的NgModule装饰器,确保:declarations、imports、exports数组无重复或无效引用- 移除Angular 9+不再需要的
entryComponents属性
清理Angular构建缓存
清除旧编译缓存后重新安装依赖:ng clean rm -rf node_modules package-lock.json npm install
三、最终验证操作
更新Ionic核心依赖后重新添加平台:
npm update @ionic/angular @ionic/angular-toolkit ionic cordova platform add android@11
内容的提问来源于stack exchange,提问作者Ashish Kumar
相关产品推荐
相关产品推荐

