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

Android Studio Gradle打包卡在:app:transformClassesWithDexForRelease阶段求助

Android Release构建卡在:app:transformClassesWithDexForRelease 93%的解决方案

我来帮你分析下这个卡 dex 构建的问题,结合你的环境和配置,大概率是内存不足、dex 优化没做好或者依赖冲突导致的,给你几个优先级从高到低的解决方案:

1. 紧急解决内存瓶颈(最关键)

你的Windows 10 x86系统只有3GB内存,而Android Studio + Gradle构建(尤其是dex阶段)对内存需求极高,当前1G的javaMaxHeapSize完全不够:

  • 调整dexOptions的堆内存:把javaMaxHeapSize "1g"改成javaMaxHeapSize "2g",这是x86系统能分配的最大合理值了
  • 给Android Studio本身扩容:找到AS安装目录下的studio.exe.vmoptions(或者通过AS的File -> Settings -> Build, Execution, Deployment -> Build Tools -> Gradle -> Gradle VM options),将-Xmx参数改成-Xmx2048m
  • 关闭所有后台无关程序(浏览器、微信、杀毒软件等),给构建进程腾内存

2. 启用高效的D8 Dex编译器

旧的dx工具效率很低,D8是谷歌推出的新一代dex编译工具,能大幅提升编译速度:
在项目根目录的gradle.properties文件中添加一行:

android.enableD8=true

你的Gradle 2.3.3版本是支持D8的,无需升级插件也能启用。

3. 优化构建配置与依赖

  • 统一SDK版本:你的compileSdkVersion=26但targetSdkVersion=25,版本不一致可能引发潜在问题,把targetSdkVersion改成26
  • 临时关闭混淆与资源压缩:赶时间的话可以先注释掉release构建里的minifyEnabled true和shrinkResources true,这两个操作会大幅增加构建时间,等版本发布后再回来优化包体积
  • 检查重复依赖:执行命令./gradlew app:dependencies查看依赖树,找出重复的类或库(比如Mobvista的多个aar可能存在重复依赖),用exclude语法排除冗余依赖,例如:
compile(name: 'mobvista-8.11.0-alphab', ext: 'aar') {
    exclude group: 'com.google.android.gms'
}
  • 升级Gradle插件(可选但推荐):你用的Gradle 2.3.3比较老旧,AS3.0适配的Gradle Plugin 3.0.0对dex构建有不少优化,可以尝试修改项目根目录的build.gradle:
buildscript {
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.0'
    }
}

同时修改gradle/wrapper/gradle-wrapper.properties里的distributionUrl为:

distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip

4. 清理缓存与命令行构建

  • 清理AS缓存:点击File -> Invalidate Caches / Restart,选择Invalidate and Restart,清除损坏的构建缓存
  • 用命令行构建:打开命令提示符进入项目目录,执行:
gradlew clean assembleRelease --no-build-cache

有时候AS的UI会有卡顿,命令行构建反而更稳定。

这些方法应该能帮你快速解决卡在93%的问题,优先尝试内存调整和D8启用,见效最快。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 07:15:00