cordova-android@7.0.0下ionic cordova run/build android无法运行求助
解决cordova-android@7.0.0下Ionic构建/运行Android失效的问题
兄弟,我太懂你这种更新项目后命令直接罢工的崩溃感了!cordova-android@7.0.0这个版本算是个“老顽固”,和新的Ionic CLI、Android SDK环境兼容性坑特别多,你试过的常规操作没用很正常,我给你梳理几个针对性的解决方向,都是踩过坑总结出来的:
一、先把环境锁到cordova-android@7.0.0的“舒适区”
这个版本对环境有严格要求,新环境直接跑必然出问题:
- Node.js版本:必须是8.x到10.x之间!如果你的Node版本高于10.x,赶紧用nvm(Node版本管理器)切换到10.x,比如
nvm install 10.24.1 && nvm use 10.24.1 - Android SDK Build Tools:必须装26.0.2版本!打开Android Studio的SDK Manager,找到Build Tools里的26.0.2勾选安装,还要确保项目
platforms/android/build.gradle里的buildToolsVersion写的是26.0.2 - Gradle版本:要对应4.x!打开项目根目录下的
gradle/wrapper/gradle-wrapper.properties,把distributionUrl改成https://services.gradle.org/distributions/gradle-4.1-all.zip
二、给插件“降个级”,适配老平台
你用的那几个插件最新版已经不兼容cordova-android@7.x了,必须装指定版本:
- cordova-plugin-camera:装4.1.0版本
- cordova.plugins.diagnostic:装4.0.12版本
- cordova-plugin-device:装2.0.3版本
操作步骤按这个来:
- 先删掉现有插件:
cordova plugin remove cordova-plugin-camera cordova.plugins.diagnostic cordova-plugin-device - 移除Android平台:
cordova platform remove android - 重新加回指定版本的平台:
cordova platform add android@7.0.0 - 安装适配的插件:
cordova plugin add cordova-plugin-camera@4.1.0 cordova plugin add cordova.plugins.diagnostic@4.0.12 cordova plugin add cordova-plugin-device@2.0.3
三、手动修复gradle配置的坑
cordova-android@7.x生成的gradle配置经常缺东西,手动改一下:
打开platforms/android/build.gradle,做两个调整:
- 把
allprojects下的仓库顺序改对,google()要放在最前面:
allprojects { repositories { google() jcenter() } }
- 确认
android节点下的版本号是26:
android { compileSdkVersion 26 defaultConfig { targetSdkVersion 26 // 其他配置不动 } }
四、清缓存后再试,还不行就看详细报错
最后把所有缓存清一遍,避免残留问题:
- 清Ionic缓存:
ionic cache clear - 清Cordova缓存:
cordova clean android - 带详细日志构建:
ionic cordova build android --verbose
如果还是失败,把--verbose输出的错误信息贴出来,就能精准定位剩下的问题了!
内容的提问来源于stack exchange,提问作者AppFirl
相关产品推荐
相关产品推荐

