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

标签 android android-studio dex

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

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

Error:Execution failed for task ':app:transformClassesWithDexForDebug'. com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException: Error while executing java process with main class com.android.dx.command.Main with arguments {--dex --num-threads=4 --multi-dex --main-dex-list C:\Users\ratik\Desktop\BUILDBOX\VOLUNTEER\STUDIO\app\build\intermediates\multi-dex\debug\maindexlist.txt --output C:\Users\ratik\Desktop\BUILDBOX\VOLUNTEER\STUDIO\app\build\intermediates\transforms\dex\debug\folders\1000\1f\main C:\Users\ratik\Desktop\BUILDBOX\VOLUNTEER\STUDIO\app\build\intermediates\transforms\jarMerging\debug\jars\1\1f\combined.jar}

还有一些错误,但只是有时会出现,其中一些错误:

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

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

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

Error:java.lang.OutOfMemoryError: GC overhead limit exceeded

我尝试了什么:

在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')
}

在 list 中

android:name="android.support.multidex.MultiDexApplication"

另外,我关闭了 Instant run(在此处的一个线程中看到)。

没有任何帮助 :( 请问有什么想法吗?谢谢大家的帮助 :)

最佳答案

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

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

而且有效。

关于android - 构建 APK - 错误 - 应用程序 :transformClassesWithDexForDebug,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43410408/

相关文章:

java - 使用 Jsoup 从 url 获取数据时停止工作错误

android - 向 View 添加自定义属性

java - 如何从 Android Studio 项目中制作 .jar

java - Android Dex : the "--core-library" option to suppress this error message

android - 将对象从 Activity 传递到 Fragments 是通过引用传递

java - 如何解决 Android KeyStore 上的 "communication failure"?

android - View 翻转器 : Receiver not registered

java - 如何从编译中排除某些文件

android - Android dex 中的冗余操作码

java - 将 AppCompat v7 添加到 gradle 会在编译时产生多重错误