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

Cordova构建Android时:app:mergeReleaseResources失败,提示Daemon启动失败

Cordova Android构建失败:AAPT2 Daemon启动失败(symbol not found)

使用setup-cordova GitHub Action构建Cordova项目,数月前可正常运行,现在执行cordova build android时,在:app:mergeReleaseResources步骤失败,提示"Daemon startup failed",同时出现大量"symbol not found"错误,相关日志如下:

cordova version: 
11.1.0
Installed platforms:
  
Available platforms: 
  android ^10.1.1
  browser ^6.0.0
  electron ^3.0.0
Using cordova-fetch for cordova-android@^10.1.1
Adding android project...
Creating Cordova project for the Android platform:
    Path: platforms/android
    Package: com.someapp.someapp
    Name: Some App
    Activity: MainActivity
    Android target: android-30
Subproject Path: CordovaLib
Subproject Path: app
Android project created with cordova-android@10.1.2
Checking Java JDK and Android SDK versions
ANDROID_SDK_ROOT=/opt/android-sdk-linux (recommended setting)
ANDROID_HOME=/opt/android-sdk-linux (DEPRECATED)
Using Android SDK: /opt/android-sdk-linux

Welcome to Gradle 7.5.1!

Here are the highlights of this release:
 - Support for Java 18
 - Support for building with Groovy 4
 - Much more responsive continuous builds
 - Improved diagnostics for dependency resolution

For more details see https://docs.gradle.org/7.5.1/release-notes.html

Starting a Gradle Daemon (subsequent builds will be faster)
> Task :wrapper

Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.

AAPT2 aapt2-4.2.2-7147631-linux Daemon #0: Unexpected error output: Error relocating /root/.gradle/caches/transforms-3/a15c26061a26a3ff1f644e99469209bc/transformed/aapt2-4.2.2-7147631-linux/aapt2: __longjmp_chk: symbol not found
AAPT2 aapt2-4.2.2-7147631-linux Daemon #0: Unexpected error output: Error relocating /root/.gradle/caches/transforms-3/a15c26061a26a3ff1f644e99469209bc/transformed/aapt2-4.2.2-7147631-linux/aapt2: __isnan: symbol not found
AAPT2 aapt2-4.2.2-7147631-linux Daemon #0: Unexpected error output: Error relocating /root/.gradle/caches/transforms-3/a15c26061a26a3ff1f644e99469209bc/transformed/aapt2-4.2.2-7147631-linux/aapt2: __isnanf: symbol not found
AAPT2 aapt2-4.2.2-7147631-linux Daemon #0: Unexpected error output: Error relocating /root/.gradle/caches/transforms-3/a15c26061a26a3ff1f644e99469209bc/transformed/aapt2-4.2.2-7147631-linux/aapt2: __vsnprintf_chk: symbol not found
AAPT2 aapt2-4.2.2-7147631-linux Daemon #0: Unexpected error output: Error relocating /root/.gradle/caches/transforms-3/a15c26061a26a3ff1f644e99469209bc/transformed/aapt2-4.2.2-7147631-linux/aapt2: __vfprintf_chk: symbol not found
AAPT2 aapt2-4.2.2-7147631-linux Daemon #0: Unexpected error output: Error relocating /root/.gradle/caches/transforms-3/a15c26061a26a3ff1f644e99469209bc/transformed/aapt2-4.2.2-7147631-linux/aapt2: __memmove_chk: symbol not found
AAPT2 aapt2-4.2.2-7147631-linux Daemon #0: Unexpected error output: Error relocating /root/.gradle/caches/transforms-3/a15c26061a26a3ff1f644e99469209bc/transformed/aapt2-4.2.2-7147631-linux/aapt2: __vasprintf_chk: symbol not found
AAPT2 aapt2-4.2.2-7147631-linux Daemon #0: Unexpected error output: Error relocating /root/.gradle/caches/transforms-3/a15c26061a26a3ff1f644e99469209bc/transformed/aapt2-4.2.2-7147631-linux/aapt2: strtoll_l: symbol not found
AAPT2 aapt2-4.2.2-7147631-linux Daemon #0: Unexpected error output: Error relocating /root/.gradle/caches/transforms-3/a15c26061a26a3ff1f644e99469209bc/transformed/aapt2-4.2.2-7147631-linux/aapt2: strtoull_l: symbol not found
AAPT2 aapt2-4.2.2-7147631-linux Daemon #0: Unexpected error output: Error relocating /root/.gradle/caches/transforms-3/a15c26061a26a3ff1f644e99469209bc/transformed/aapt2-4.2.2-7147631-linux/aapt2: __longjmp_chk: symbol not found
> Task :app:mergeReleaseResources FAILED
> Task :CordovaLib:processReleaseManifest

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:mergeReleaseResources'.
> A failure occurred while executing com.android.build.gradle.internal.res.Aapt2CompileRunnable
   > AAPT2 aapt2-4.2.2-7147631-linux Daemon #0: Daemon startup failed
     This should not happen under normal circumstances, please file an issue if it does.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 55s

解决方案

这些错误核心是AAPT2 4.2.2版本与当前运行环境的GLIBC版本不兼容,以下是几种可直接落地的修复方式:

1. 降级cordova-android版本

cordova-android@10.1.2默认绑定的AAPT2版本存在兼容性问题,降级到更稳定的10.0.0版本:

cordova platform remove android
cordova platform add android@10.0.0

2. 强制指定兼容的AAPT2版本

在项目的platforms/android/build.gradle文件中添加配置,切换到兼容的AAPT2版本或禁用新AAPT2:

android {
    buildToolsVersion "30.0.3"
    aaptOptions {
        useNewAapt2 false
    }
}

或者在项目根目录的build.gradle中全局指定AAPT2版本:

buildscript {
    dependencies {
        classpath 'com.android.tools.build:aapt2:3.6.4-6040484'
    }
}

3. 升级GitHub Actions运行环境

将GitHub Actions的运行镜像切换到ubuntu-22.04(或更高版本),新版本系统自带更高版本的GLIBC,能兼容AAPT2 4.2.2:

jobs:
  build:
    runs-on: ubuntu-22.04
    steps:
      - uses: actions/checkout@v4
      - uses: apache/cordova-action@v1
        with:
          cordova-version: '11.1.0'

4. 清理Gradle缓存

如果是缓存导致的版本冲突,清理Gradle缓存后重新构建:

rm -rf ~/.gradle/caches
cordova build android

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 02:07:13