Android - 使用 Dex 转换 类 进行调试

Android - transform Classes With Dex For Debug

在添加 Facebook 依赖项之前,我的项目运行良好。 我已经开始收到此错误。 我看了很多问题,这个问题似乎与 MultiDex 有关。 但是 none 的解决方案对我有用

Error:Execution failed for task ':app:transformClassesWithDexForDebug'.
> com.android.build.api.transform.TransformException: 
com.android.ide.common.process.ProcessException:
org.gradle.process.internal.ExecException: Process 'command 
'/usr/lib/jvm/java-7-openjdk-amd64/bin/java'' finished with non-zero exit value 1

即使我删除了我添加的内容,它仍然显示,而且 gradle 构建时似乎比平时花费了很多时间

这是我的 build.gradle

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.3"

defaultConfig {
    applicationId "net.ciblo.spectrodraft"
    minSdkVersion 15
    targetSdkVersion 23
    versionCode 1
    multiDexEnabled true

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

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'

repositories {
    mavenCentral()
    maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }

}
compile 'com.facebook.android:facebook-android-sdk:[4,5)'
compile 'com.android.support:multidex:1.0.1'
compile 'com.android.support:appcompat-v7:23.2.1'
compile 'com.android.support:cardview-v7:23.2.1'
compile 'com.android.support:design:23.2.1'
compile 'com.daimajia.easing:library:1.0.1@aar'
compile 'com.daimajia.androidanimations:library:1.1.3@aar'
compile 'com.google.android.gms:play-services:8.4.0'
compile 'com.mcxiaoke.volley:library-aar:1.0.0'
compile 'com.pnikosis:materialish-progress:1.5'
compile 'com.nineoldandroids:library:2.4.+'
compile 'com.michaelpardo:activeandroid:3.1.0-SNAPSHOT'
compile 'com.android.support:support-v4:23.2.1'
compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'

}

您可以有选择地将 Google Play 服务 API 编译到您的应用中。例如,要仅包含 Google Fit 和 Android Wear API,请在 build.gradle 文件中替换以下行:

 compile 'com.google.android.gms:play-services:8.4.0'

这些行:

compile 'com.google.android.gms:play-services-fitness:8.4.0'
compile 'com.google.android.gms:play-services-wearable:8.4.0'

==> 将应用程序中的方法数量(包括框架 API、库方法和您自己的代码)保持在 65,536 个限制以下。

将以下代码添加到 build.gradle 应用模块解决了我的问题

android{
    defaultConfig {

        // Enabling multidex support.
        multiDexEnabled true
    }


    dexOptions {
        javaMaxHeapSize "4g"
    }
}
dependencies {
    //...
    compile 'com.android.support:multidex:1.0.0'
}

在 build.gradle 中添加以下内容解决了我的问题,

android {
//...

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
//...
}

这个可怕的反复出现的问题最近再次打击了我。 gradle 构建永久停滞在 app:transformClassesWithDexForDebug,仅 运行 数小时且从未完成。这次我通过删除对 'fabric' 的所有引用来修复它,一个新的 Crashlytics 层被强加给我们。

//apply plugin: 'io.fabric'   //REMOVE
//classpath 'io.fabric.tools:gradle:1.26.1'  //REMOVE