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

多模块项目中binding_classes.json复制失败问题求助

错误含义

这是Android构建流程中Data Binding跨模块依赖的文件复制失败:media模块构建生成的Data Binding基础类日志文件com.example.media-binding_classes.json,在复制到依赖它的authorized_zone模块对应目录时出现异常。

随机触发的原因通常包括:

  • Gradle构建缓存的脏数据冲突
  • Windows系统下的文件锁(进程占用源/目标文件)
  • 多模块并行构建时的资源竞争
  • 各模块Data Binding配置或版本不一致
彻底解决方法

1. 清理缓存并禁用构建缓存

  • 执行命令强制无缓存构建:
    # Windows系统
    gradlew.bat clean build --no-build-cache
    
  • 长期禁用构建缓存:在项目根目录gradle.properties中添加:
    android.enableBuildCache=false
    
    或在Android Studio设置中取消Settings > Build, Execution, Deployment > Build Tools > Gradle下的Build cache勾选

2. 统一所有模块的Data Binding配置

确保所有启用Data Binding的模块,Module级build.gradle配置完全一致:

android {
    buildFeatures {
        dataBinding true
        // 若使用ViewBinding,同步开启并保持一致
        viewBinding true
    }
    // 强制统一compileSdk、targetSdk版本
    compileSdk 34
    defaultConfig {
        targetSdk 34
    }
}

3. 解决Windows文件锁问题

  • 关闭占用项目文件的进程:杀毒软件实时扫描、OneDrive同步、其他IDE窗口
  • 在gradle.properties中添加优化配置:
    org.gradle.jvmargs=-Djava.io.tmpdir=C:\Temp\gradle-tmp
    org.gradle.parallel=false
    
    前者指定独立的Gradle临时目录,避免系统临时文件锁;后者关闭并行构建,减少资源竞争

4. 更新Gradle与AGP版本

将AGP和Gradle升级到官方稳定版本(例如AGP 8.2.0 + Gradle 8.2):

  • 根目录build.gradle:
    dependencies {
        classpath 'com.android.tools.build:gradle:8.2.0'
    }
    
  • gradle/wrapper/gradle-wrapper.properties:
    distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-bin.zip
    

5. 手动清理残留缓存

若以上方法无效,直接删除以下目录后重新构建:

  • 项目根目录的.gradle文件夹
  • 所有模块的build文件夹
  • Android Studio缓存目录:C:\Users\<你的用户名>\.AndroidStudio<版本>\system\caches

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 11:35:20