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

Android studio不允许我编译项目

壤驷俊逸
2023-03-14

我已经谷歌寻找解决方案,但我已经尝试了所有的方法,其中任何一个工作。首先,我的项目可以解决任何问题,后来我添加了一些更改,这就发生了。当我删除所有更改时,问题并没有消失。当我试图完成这个项目时,gradle控制台显示:

    FAILURE: Build failed with an exception.

    What went wrong:

    Execution failed for task ':app:dexDebug'.
    > com.android.ide.common.internal.LoggedErrorException: Failed to run command:
        /home/user/Android/Sdk/build-tools/22.0.0/dx --dex --no-optimize --output /home/projectpath/app/build/intermediates/dex/debug --input-list=/home/projectpath/app/build/intermediates/tmp/dex/debug/inputList.txt
      Error Code:
        2
      Output:

Main.java:106:多个dex文件定义Lbolts/Aggregate Exception;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:303)com.android.dx.command.dexer.Main.run(com.android.dx.command.dexer.Main.main(Main.java:215)com.android.dx.command.Main.main(com.android.dex.DexException)

这是我的构建.gradle 文件:

    apply plugin: 'com.android.application'

android {
    compileSdkVersion 22
    buildToolsVersion "22.0.0"

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

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:+'
    compile 'com.android.support:palette-v7:+'
    compile 'com.android.support:recyclerview-v7:+'
    compile 'com.android.support:cardview-v7:22.0.+'
    compile 'com.jakewharton:butterknife:5.1.2'
    compile 'com.jakewharton.timber:timber:2.5.0'

    compile 'fr.tvbarthel.lib.blurdialogfragment:lib:1.1.0@aar'

    compile 'com.github.chenupt.android:multiplemodel:1.1.0@aar'
    compile 'de.greenrobot:eventbus:2.4.0'
    compile 'com.google.guava:guava:18.0'
    compile 'com.jpardogo.materialtabstrip:library:1.0.8'
    compile 'com.getbase:floatingactionbutton:1.7.0'
    compile 'com.squareup.picasso:picasso:2.5.0'

    compile 'com.facebook.android:facebook-android-sdk:3.21.1'
}



dependencies {
    compile 'com.parse.bolts:bolts-android:1.+'
    compile fileTree(dir: 'libs', include: 'Parse-*.jar')
compile fileTree(dir: 'libs', include: 'ParseCrashReporting-*.jar')
}

共有1个答案

白高超
2023-03-14

此类问题 意外的顶级异常:com.android.dex.Dex例外:当您使用具有不同版本的同一库时,会发生此类问题。

问题就在这里:

您正在使用

compile 'com.parse.bolts:bolts-android:1.+'

目前的版本是1.2

facebook(3.21.1)库正在使用1.1.2版本

另外你也在使用

compile 'com.android.support:appcompat-v7:+'

这意味着版本22。facebook库使用20-21。

 类似资料:
  • 我正在尝试使用gradle编译一个war文件以部署到JBoss 7.1 AS,但编译失败(找不到ServletContext)…… gradle.build.见下文 错误: /workspace/agile runner/src/main/Java/com/agile runner/web/config/agilerunnerapplicationinitializer . Java:20:找不到

  • 在Java是否可以像在C/C++中那样做一种#ifdef的事情? 示例: 注意,即使是(如本例所示),它仍然会尝试编译中的代码,即使它不会(也不应该)编译。 我正在寻找一种进行条件编译的方法--编译器甚至不应该查看如果是。 我的问题的上下文是,我在Eclipse中有一个处理应用程序。我在两个单独的项目中同时使用常规处理和Android处理,但我希望能够在没有编译器错误的情况下在彼此之间移动项目的源

  • 我使用最新的Android Studio 1.3.2(OS Windows 7),在资产目录我把2 apks,当我试图编译我收到这个错误。 如何解决此错误?任何建议都有很大帮助。

  • 我正在创建一个程序来提示用户输入信息,所以我创建了多个变量,然后让程序根据这些变量输出信息。出于某种原因,每当我声明新的年龄变量时,程序都会给我一个奇怪的错误,在线程“main”中说Exception。我试着将第一次扫描关闭到,但不起作用。 我的密码是

  • 我把它放在php中。ini文件: 但我仍然可以调用它们(tested exec和shell_exec)。我已经多次重新启动Web服务器。 (窗户下)。

  • 这个问题是由打字错误或无法再复制的问题引起的。虽然这里可能有类似的问题,但这个问题的解决方式不太可能对未来的读者有所帮助。 原始关闭原因未解决 好的,我已经研究这个问题好几个小时了,不知道如何解决这个问题,因为我只是一个新手。当时我正在学习科尔特·斯蒂尔(Colt Steele)的一门名为WEBDEVBOOTCAMP的UDEMY课程。在部署部分,每次我使用Heroku部署时,这都会给我一个“不允许