当前位置: 首页 > 知识库问答 >
问题:

任务执行失败:应用程序:transformClassesWithDexForDebug'-Gradle依赖项?

苏彭薄
2023-03-14

我不想开始一个与这个问题相关的新问题,因为我知道已经有几个了,但我仍然没有找到解决方案,我卡住了。

我当前收到错误:

错误:任务执行失败:app:transformClassesWithDexForDebug。

“进程”异常: “目录 jdk1.7.0_79”以非零退出值 2 完成

这就是Gradle控制台的功能

意外的顶级异常:com.android.dex.DexException:多个dex文件定义了Lbolts/aggregate EXCEPTION;at com . Android . dx . merge . dex merger . readsortabletypes(dex merger . Java:579)at com . Android . dx . merge . dex merger . getsortedtypes(dex merger . Java:535)at com . Android . dx . merge . dex merger . merge classdefs(dex merger . Java:517)at com . Android . dx . merge . dex . merge . merge . dex:164)at com . Android . dx . merge . dex . merge . dex merger . merge . dex merge

不成功的

失败:构建失败,出现异常。

>

  • 出现错误:任务执行失败:app:transformClassesWithDexForDebug。

    “进程”异常: “目录 jdk1.7.0_79”以非零退出值 2 完成

    尝试:使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获得更多日志输出。

    构建失败

    这是我的构建:

    apply plugin: 'com.android.application'
    
    android {
        compileSdkVersion 23
        buildToolsVersion "23.0.2"
    
        defaultConfig {
            applicationId "com.andrewnwalker.mousetimes_california"
            minSdkVersion 15
            targetSdkVersion 23
            versionCode 1
            versionName "1.0"
        }
        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            }
        }
    }
    
    dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
        testCompile 'junit:junit:4.12'
        compile 'com.android.support:appcompat-v7:23.1.1'
        compile 'com.android.support:design:23.1.1'
        compile 'com.parse.bolts:bolts-android:1.+'
        compile fileTree(dir: 'libs', include: ['Parse-*.jar'])
        compile files('libs/Parse-1.12.0.jar')
        compile files('libs/bolts-tasks-1.3.0.jar')
        compile files('libs/universal-image-loader-1.9.5.jar')
        compile files('libs/joda-time-2.9.1.jar')
    }
    

    我已经尝试了所有显而易见的事情,如清洁,重建,打开/关闭。我还尝试删除一些依赖项,看看是否会有所不同。

    据我所知,从它工作正常的时候,我没有改变任何东西。我很确定我只是连续第二次运行该项目,并出现了错误。不过,我可能是错的。

    有人有什么建议吗?

  • 共有2个答案

    颛孙英才
    2023-03-14

    像这样更新你的顶级gradle,

    // Top-level build file where you can add configuration options common to all sub-projects/modules.
    
    buildscript {
        repositories {
            jcenter()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:2.0.0-alpha3'
            classpath 'com.google.gms:google-services:2.0.0-alpha3'
    
            // NOTE: Do not place your application dependencies here; they belong
            // in the individual module build.gradle files
        }
    }
    
    allprojects {
        repositories {
            jcenter()
        }
    }
    
    task clean(type: Delete) {
        delete rootProject.buildDir
    }
    

    像这样更新您的应用级别等级,

    apply plugin: 'com.android.application'
    
    android {
        compileSdkVersion 23
        buildToolsVersion "23.0.2"
    
        defaultConfig {
            // package name, target sdk and version code as per your code
            multiDexEnabled true
        }
        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            }
        }
        dexOptions {
            incremental true
            javaMaxHeapSize "4g"
        }
    }
    
    dependencies {
        compile fileTree(include: ['*.jar'], dir: 'libs')
        // your libraries here
        compile 'com.google.android.gms:play-services:8.4.0'
        compile 'com.android.support:multidex:1.0.1'
    }
    
    apply plugin: 'com.google.gms.google-services'
    

    并像这样更新您的android清单文件,

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:name="android.support.multidex.MultiDexApplication"
        android:theme="@style/AppTheme">
    

    并将该行添加到onCreate函数中的启动器活动中。

    MultiDex.install(this);
    

    看看这是否有效。

    池俊茂
    2023-03-14

    最近,我遇到了同样的问题,下面是我的解决方案,分两步:

    >

  • 顶级Gradle:

    // Top-level build file where you can add configuration options common to all sub-projects/modules.
    buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.0.0-alpha3'
        classpath 'com.google.gms:google-services:2.0.0-alpha3'//for any google libs
       }
     }
    
    allprojects {
    repositories {
          jcenter()
        }
    }
    

    模块(app)级别Gradle:

    apply plugin: 'com.android.application'
    
    android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"
    
    
    defaultConfig {
        applicationId "your_app_id"
        minSdkVersion 9
        targetSdkVersion 22
        // Enabling multidex support can also help (uncomment and test)
        //multiDexEnabled true
    }
    
    buildTypes {
        release {
            //minifyEnabled true
            //shrinkResources true
            proguardFiles 'proguard-project.txt'
        }
    }
    
    } 
    
    dependencies {
    //your dependencies
    }
    apply plugin: 'com.google.gms.google-services' **//Place this line at the end if you use any google service lib.**
    

  •  类似资料: