构建APK - 错误 - 应用程序:transformClassesWithDexForDebug

时间:2017-04-14 11:13:21

标签: android android-studio dex

我在这里观看了很多线程,但仍未找到可行的解决方案。

当我想构建APK时,我收到了这个主要错误:

  

错误:任务执行失败   ':应用程序:transformClassesWithDexForDebug&#39 ;.   com.android.build.api.transform.TransformException:com.android.ide.common.process.ProcessException:   java.util.concurrent.ExecutionException:   com.android.ide.common.process.ProcessException:执行时出错   带有主类com.android.dx.command.Main的java进程   arguments {--dex --num-threads = 4 --multi-dex --main-dex-list   C:\ Users \用户ratik \桌面\ BUILDBOX \志愿者\ STUDIO \程序\编译\ \中间体多DEX \调试\ maindexlist.txt   --output C:\ Users \ ratik \ Desktop \ BUILDBOX \ VOLUNTEER \ STUDIO \ app \ build \ intermediates \ transforms \ dex \ debug \ folders \ 1000 \ 1f \ main   C:\ Users \用户ratik \桌面\ BUILDBOX \志愿者\ STUDIO \应用\构建\中间体\变换\ jarMerging \调试\罐\ 1 \ 1F \ combined.jar}

几乎没有错误,但有时只出现错误,其中一些错误:

  

错误:at   com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:284)

     

错误:at   com.android.dx.command.dexer.Main.processFileBytes(Main.java:723)

     

错误:at   com.android.dx.cf.direct.DirectClassFile.parseToInterfacesIfNecessary(DirectClassFile.java:388)

     

错误:java.lang.OutOfMemoryError:超出GC开销限制

我尝试了什么:

在build.gradle中

apply plugin: 'com.android.application'

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.2"

    defaultConfig {
        applicationId "com.biif.volunteer"
        minSdkVersion 14
        targetSdkVersion 25
        multiDexEnabled true

        ndk {
            moduleName "player_shared"
        }

    }

    buildTypes {
        release {
            minifyEnabled false
            shrinkResources false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }


    }
    sourceSets.main {
        jni.srcDirs = []// <-- disable automatic ndk-build call
    }
}

dependencies {
    compile ('com.google.android.gms:play-services:+'){exclude module: 'support-v4'}
    compile files('libs/dagger-1.2.2.jar')
    compile files('libs/javax.inject-1.jar')
    compile files('libs/nineoldandroids-2.4.0.jar')
    compile files('libs/support-v4-19.0.1.jar')
    compile ('com.android.support:multidex:1.0.1')
}

在清单中

  

机器人:名称=&#34; android.support.multidex.MultiDexApplication&#34;

另外,我关闭了Instant run(在这里看到了一个线程)。

没有任何帮助:(有任何想法吗?感谢您的帮助:)

1 个答案:

答案 0 :(得分:5)

我在项目中包含了gradle.properties文件:

org.gradle.jvmargs=-Xmx10248m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8

它有效。