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

Windows下Cordova构建Android项目失败:临时目录不可写入

解决Cordova构建Android时:app:transformClassesWithDesugarForDebug失败的问题

兄弟,我之前也碰到过类似Desugar临时目录相关的玄学坑,给你几个针对性的解决方案,你挨个试试:

  • 手动指定Desugar的临时目录
    Desugar工具默认用系统TEMP目录,但有时候会出现路径识别或权限的奇怪问题。你可以直接在项目的platforms/android/app/build.gradle里给它指定一个项目内的可控目录:
    打开这个文件,找到android代码块,添加或修改compileOptions部分:

    android {
        // 保留原来的所有配置,只新增下面这段
        compileOptions {
            coreLibraryDesugaringEnabled true
            coreLibraryDesugaringOptions {
                desugarOutputDirectory file("$projectDir/desugar_temp")
            }
        }
    }
    

    然后在platforms/android/app目录下手动创建desugar_temp文件夹,确保你对这个目录有写入权限,之后再执行cordova build android试试。

  • 调整系统TEMP环境变量
    虽然你说T:\Temp是可写的,但有时候系统TEMP路径过长、包含空格或特殊字符,会导致工具识别异常。你可以试试把TEMP和TMP环境变量改成更简洁的路径,比如C:\Temp:

    1. 右键「此电脑」→ 属性 → 高级系统设置 → 环境变量
    2. 在用户变量里找到TEMP和TMP,修改为C:\Temp(先手动创建这个目录)
    3. 重启所有打开的命令行/IDE,再重新构建项目
  • 更新Cordova Android平台版本
    旧版本的Cordova Android平台可能存在Desugar相关的bug,试试更新到最新稳定版:

    # 先移除旧的Android平台
    cordova platform rm android
    # 添加最新版
    cordova platform add android@latest
    

    如果最新版有兼容性问题,也可以试试指定一个经过验证的稳定版本,比如android@12.0.0

  • 清理构建缓存
    缓存损坏也可能导致这类奇怪报错,先清理Cordova和Gradle的缓存:

    # 清理Cordova的构建缓存
    cordova clean android
    # 清理Gradle缓存(进入Android平台目录执行)
    cd platforms/android
    ./gradlew clean
    cd ../..
    

    清理完成后再重新执行构建命令。

  • 排查插件冲突(针对测试项目)
    虽然是「hello」测试应用,但默认插件也可能有异常。你可以创建一个全新的Cordova项目,不添加任何额外插件,直接构建:

    cordova create test_hello com.example.testhello TestHello
    cd test_hello
    cordova platform add android
    cordova build android
    

    如果新项目能正常构建,那说明原项目的某个插件有问题,你可以逐步排查添加的插件。

内容的提问来源于stack exchange,提问作者Peter T.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 07:07:21