【问题标题】:In Android Studio Error:Execution failed for task ':app:dexDebug'在 Android Studio 中出现错误:任务 ':app:dexDebug' 执行失败
【发布时间】:2015-05-16 22:28:38
【问题描述】:

我正在使用 android studio 1.1.0 中的“Fabric Plugin”进行 twitter 集成(使用 twitter 登录)

错误:任务 ':app:dexDebug' 执行失败。

com.android.ide.common.internal.LoggedErrorException:无法运行命令: /home/dhruv/Dhruv/sdk/build-tools/21.0.2/dx --dex --no-optimize --output /home/dhruv/FestEvo/app/build/intermediates/dex/debug --input-list =/home/dhruv/FestEvo/app/build/intermediates/tmp/dex/debug/inputList.txt 错误代码: 2 输出: 意外的顶级异常: com.android.dex.DexException:多个dex文件定义了Lcom/google/gson/JsonSerializer; 在 com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596) 在 com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:554) 在 com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:535) 在 com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171) 在 com.android.dx.merge.DexMerger.merge(DexMerger.java:189) 在 com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:454) 在 com.android.dx.command.dexer.Main.runMonoDex(Main.java:302) 在 com.android.dx.command.dexer.Main.run(Main.java:245) 在 com.android.dx.command.dexer.Main.main(Main.java:214) 在 com.android.dx.command.Main.main(Main.java:106)

这是 build.gradle: 文件

buildscript {
    repositories {
       // jcenter()
        maven { url 'https://maven.fabric.io/public' }
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:1.0.+'
        classpath 'io.fabric.tools:gradle:1.+'
    }
}
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'

repositories{
    flatDir{
        dirs 'libs'
    }
    //jcenter()
    maven { url 'https://maven.fabric.io/public' }
}

android {
    compileSdkVersion 21
    buildToolsVersion "21.0.2"

    defaultConfig {
        applicationId "com.festevo.devtesting"
        minSdkVersion 15
        targetSdkVersion 21
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

configurations {
    all*.exclude group: 'com.android.support', module: 'support-v4'
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    //compile 'com.android.support:appcompat-v7:21.0.3'

    //compile 'com.spotify.sdk:spotifysdk:1.0.0-beta6@aar'
    compile 'com.spotify.sdk:spotifysdk:1.0.0-beta8@aar'
    // NOTE: Version must match!
   // compile 'com.android.support:support-v4:+'

    compile project ('libraries:FacebookSDK')
    compile project ('libraries:simple-crop-image-lib')
    compile project ('libraries:SlidingMenu')
    compile project ('libraries:nineoldandroids')
    compile project ('libraries:google-play-services_lib')
    compile('com.twitter.sdk.android:twitter:1.3.2@aar') {
        transitive = true;
    }

}

请建议我如何解决我的问题提前谢谢你:)

【问题讨论】:

    标签: android twitter android-studio android-support-library twitter-fabric


    【解决方案1】:

    也有这个错误。关键在这里:“多个dex文件定义Lcom/google/gson/JsonSerializer;”

    您很可能在应用中引用了多个版本的 gson。因此,您可以右键单击您的项目模块 -> 打开模块设置 -> 依赖项选项卡,然后删除任何额外的 gson 版本。

    如果你想要更清晰的图片,你可以进入 Android Studio 的终端并执行 grep -r gson 来查看所有引用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-05-23
      • 2016-09-02
      • 2015-10-20
      • 1970-01-01
      • 2015-08-23
      • 1970-01-01
      相关资源
      最近更新 更多