Android打包Release APK时出现AAPT2资源编译失败错误求助
针对你遇到的AAPT: error: file failed to compile错误,以下是几个可行的解决方向:
清理构建缓存与生成资源
错误路径指向build/generated/res下的生成文件,这类文件可能已损坏。执行gradlew clean(Windows)或./gradlew clean(Mac/Linux),然后手动删除android/app/build文件夹,再重新执行构建命令,让系统重新生成资源文件。排查原始图片的编码与格式
确认原始PNG图片使用的是RGB/RGBA模式(Android不支持CMYK模式的图片),可以用系统自带画图工具或专业图像软件打开图片,选择「另存为」,明确指定保存为RGB模式的PNG格式,避免用其他格式改后缀伪装成PNG。规范资源文件命名
确保图片文件名仅包含小写字母、数字和下划线,避免空格、特殊字符,AAPT2对文件名的规范要求严格,不符合规范的文件名会导致编译失败。调整AAPT2配置
在android/app/build.gradle中添加如下配置,禁用可能导致问题的图片压缩,并使用兼容的构建工具版本:android { buildToolsVersion "34.0.0" aaptOptions { cruncherEnabled = false ignoreAssetsPattern "!.svn:!.git:!.ds_store:!*.scc:.*:!CVS:!thumbs.db:!picasa.ini:!*~" } }手动生成React Native资源(若为RN项目)
从路径看你的项目是React Native,可尝试手动生成资源再构建:npx react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res/执行完成后再重新编译APK。
匹配Gradle与插件版本
检查gradle-wrapper.properties中的Gradle版本和android/build.gradle中的Android Gradle插件版本是否匹配,比如Gradle 8.x搭配AGP 7.4+版本,版本不兼容也可能引发AAPT2编译异常。
内容的提问来源于stack exchange,提问作者alper yolcu

