使用ionic cordova build android构建APK时遇processDebugResources错误如何解决?
:processDebugResources错误 问题描述
执行ionic cordova build android时遭遇如下错误:
FAILURE: Build failed with an exception.
Execution failed for task ':processDebugResources'. com.android.ide.common.process.ProcessException: Failed to execute aapt
环境信息
执行cordova requirements的结果:
Android环境要求检查:
Java JDK: installed 1.8.0
Android SDK: installed true
Android target: installed android-P,android-27,android-26,android-25,android-24,Google Inc.:Google APIs:24,android-23,Google Inc.:Google APIs:23,android-22,android-21,android-20,android-19,android-18,android-17,android-16,android-15,android
Gradle: installed C:\Program Files\Android\Android Studio\gradle\gradle-4.4\bin\gradle
浏览器环境要求检查:Check failed for browser due to Failed to check requirements for browser platform. check_reqs module is missing for platform. Skipping it...
执行ionic info的结果:
cli packages: (C:\Windows\System32\node_modules)
ionic (Ionic CLI) : 3.12.0
global packages:
cordova (Cordova CLI) : 7.0.1
local packages:
Cordova Platforms : android 6.2.3 browser 4.1.0
Ionic Framework : ionic1 1.1.0
System:
Node : v6.11.3
npm : 3.10.10
Misc:
backend : pro
解决方案
结合你的环境情况,这些步骤应该能帮你解决问题:
检查并升级Android SDK Build Tools
aapt执行失败大多和版本不兼容有关。打开Android SDK Manager,确保安装了26.0.2及以上版本的Build Tools(对应你已安装的android-27等target版本),如果有旧版本建议更新到匹配的稳定版。升级Cordova Android平台版本
当前你用的android 6.2.3版本偏旧,和新的Android SDK、Gradle兼容性不好。执行以下命令升级:cordova platform remove android cordova platform add android@7.1.4这个版本适配性较强,能兼容你当前的Gradle 4.4和Android SDK targets。
调整Gradle配置匹配SDK版本
进入项目的platforms/android/build.gradle文件,确认compileSdkVersion和targetSdkVersion与你已安装的Android target一致,比如改成27:compileSdkVersion 27 targetSdkVersion 27清理项目缓存后重新构建
缓存文件可能导致资源处理异常,先清理缓存再尝试构建:ionic cordova clean android ionic cordova build android检查项目资源文件合法性
排查项目中res/drawable等目录下的资源文件,确保图片命名没有大写字母、特殊字符(比如空格、中文),同时检查XML布局文件是否存在语法错误——这些细节问题都可能导致aapt执行失败。
内容的提问来源于stack exchange,提问作者Krishna

