You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GitLab CI/CD构建Android 13应用遇aapt2警告与Gradle守护进程异常

解决GitLab CI构建Android 13应用的aapt2警告与Gradle守护进程崩溃问题

针对你遇到的aapt2警告、Gradle守护进程意外消失以及compileDevReleaseKotlin任务失败的问题,以下是具体排查和修复方案:

1. 升级Android Build Tools版本

你当前使用的33.0.0版本存在已知的aapt2资源处理bug,会触发Unknown chunk type '200'警告,甚至可能导致Gradle守护进程崩溃。修改CI配置中的ANDROID_BUILD_TOOLS变量为更高兼容版本:

variables:
  ANDROID_BUILD_TOOLS: "33.0.3"

2. 增加Gradle内存分配

GitLab Runner默认内存有限,Gradle守护进程因内存不足崩溃是常见原因。可通过两种方式调整内存:

  • 在项目根目录的gradle.properties中添加:
    org.gradle.jvmargs=-Xmx2048m -XX:MaxMetaspaceSize=512m
    
  • 或者在CI的before_script中设置环境变量:
    export GRADLE_OPTS="-Xmx2048m -XX:MaxMetaspaceSize=512m"
    

3. 排查并修复异常资源文件

Unknown chunk type '200'警告指向资源文件存在异常,按以下步骤处理:

  • 检查项目res目录下所有XML文件(布局、值资源、Drawable等),修复语法错误或特殊字符
  • 若使用第三方依赖库,升级到最新稳定版本,排除库自带资源的问题
  • 本地用Android Studio执行File > Invalidate Caches... > Invalidate and Restart,清理缓存后重新同步项目再推送代码

4. 完善Android SDK安装流程

你的CI脚本中SDK安装部分不完整,确保安装所有必要组件,替换before_script中的SDK安装步骤为:

- wget --quiet --output-document=android-sdk.zip https://dl.google.com/android/repository/commandlinetools-linux-${ANDROID_SDK_TOOLS}_latest.zip
- unzip -q android-sdk.zip -d ${ANDROID_HOME}
- mv ${ANDROID_HOME}/cmdline-tools ${ANDROID_HOME}/cmdline-tools/latest
- export PATH=$PATH:${ANDROID_HOME}/cmdline-tools/latest/bin:${ANDROID_HOME}/platform-tools/
- yes | sdkmanager --licenses
- sdkmanager "platforms;android-${ANDROID_COMPILE_SDK}" "build-tools;${ANDROID_BUILD_TOOLS}" "platform-tools"

5. 临时禁用Gradle守护进程(排查用)

如果以上方法未解决问题,尝试在CI构建命令中禁用守护进程,确认是否为守护进程本身的问题:

./gradlew assembleDebug --no-daemon

内容的提问来源于stack exchange,提问作者Tadashi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 19:10:32