Android Studio Gradle 冻结:app:transformClassesWithDexForRelease
Posted
技术标签:
【中文标题】Android Studio Gradle 冻结:app:transformClassesWithDexForRelease【英文标题】:Android Studio Gradle freeze on :app:transformClassesWithDexForRelease 【发布时间】:2018-05-27 16:11:08 【问题描述】:在向我们的 android 项目添加一些库并将 compileSdkVersion 更改为 26 后,我们的应用程序停止在发布配置中构建。该过程在该阶段停止在 93%:app:transformClassesWithDexForRelease 并且工作 15 分钟后没有任何变化。那时,处理器加载了 75%,RAM 为 83%。 我们使用 Android Studio 3.0、gradle 2.3.3、Windows 10 x86 和 3GB RAM。 我们还尝试为 javaMaxHeapSize 设置不同的值。这是我们的 build.gradle 文件:
android
compileSdkVersion 26
buildToolsVersion "26.0.2"
defaultConfig
minSdkVersion 14
targetSdkVersion 25
versionCode 204
versionName "2.4"
applicationId "ua.ers.simple***"
//testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
vectorDrawables.useSupportLibrary = true
multiDexEnabled true
buildTypes
release
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
dexOptions
javaMaxHeapSize "1g"
repositories
flatDir
dirs 'libs-aar'
dependencies
compile fileTree(include: ['*.jar'], dir: 'libs')
//compile fileTree(include: ['*.jar'], dir: 'libs/appodeal')
compile fileTree(include: ['*.jar'], dir: 'libs/appodeal_dex')
compile project(':library-circular-mod')
compile project(':complexPreferences')
compile 'com.android.support:appcompat-v7:26.1.0'
compile 'com.android.support:design:26.1.0'
compile 'com.android.support:multidex:1.0.1'
compile 'com.google.android.ads.consent:consent-library:1.0.3'
testCompile 'junit:junit:4.12'
//Appodeal
compile 'com.google.android.gms:play-services-ads:15.0.1'
compile 'com.google.android.gms:play-services-location:15.0.1'
compile 'com.google.android.gms:play-services-gcm:15.0.1'
//Appodeal
compile 'com.google.code.gson:gson:2.8.0'
compile 'com.squareup.picasso:picasso:2.5.2'
//for Inmobi
compile name: 'adcolony-sdk-3.3.0', ext: 'aar'
compile name: 'mobvista-8.11.0-alphab', ext: 'aar'
compile name: 'mobvista-8.11.0-common', ext: 'aar'
compile name: 'mobvista-8.11.0-interstitial', ext: 'aar'
compile name: 'mobvista-8.11.0-interstitialvideo', ext: 'aar'
compile name: 'mobvista-8.11.0-mvdownloads', ext: 'aar'
compile name: 'mobvista-8.11.0-mvjscommon', ext: 'aar'
compile name: 'mobvista-8.11.0-mvnative', ext: 'aar'
compile name: 'mobvista-8.11.0-nativeex', ext: 'aar'
compile name: 'mobvista-8.11.0-playercommon', ext: 'aar'
compile name: 'mobvista-8.11.0-reward', ext: 'aar'
compile name: 'mobvista-8.11.0-videocommon', ext: 'aar'
compile name: 'mobvista-8.11.0-videofeeds', ext: 'aar'
compile name: 'mobvista-8.11.0-videojs', ext: 'aar'
请帮忙,因为我们已经为这个问题苦苦挣扎了一个多星期,而且应用程序的更新时间很紧。谢谢。
【问题讨论】:
【参考方案1】:按照Android docs 中的建议。 推荐的内存是8gb,我只是想知道你是否可以在3gb ram系统中运行Android Studio。因为我有 10gb ram,其中 6gb ram 总是由 JDK (3gb) 和 Android Studio (3gb) 保留。而且我的系统有 i7 处理器,当我使用数据绑定时它会挂起。
您的应用在没有太多依赖项的情况下在低配置系统上运行,但如果项目要进行大型结构和更多依赖项,则您将需要至少 8gb 内存。
解决方案:
将内存增加到至少 8GB。 尝试使用一些有用的类而不是依赖项中的所有包。 清理项目,有时未使用的包仍保留在 Build 中。 如果您正在构建发布应用程序,请使用 proguard(将删除未使用的类和资源本身)。【讨论】:
感谢您的回答。如上所示,我们尝试清理项目并使用 proguard。只有购买新 PC 才能增加 RAM 的大小,因为旧 PC 具有 32 位处理器。 我想再告诉你一件事,如果你第一次在项目中添加一些依赖项,那么构建将花费大量时间。但是下次当它有缓存时,它会在几秒钟内(或仅 1 分钟)构建 是的,我们知道。但是,在我们的例子中,我们等待了超过 15 分钟并没有得到结果,所以很可能 gradle 冻结了。 低配置系统有这个问题。你肯定应该增加 Ram。以上是关于Android Studio Gradle 冻结:app:transformClassesWithDexForRelease的主要内容,如果未能解决你的问题,请参考以下文章
在打开预览的情况下编辑布局时 Android Studio 冻结?