【问题标题】:Android Studio build ErrorsAndroid Studio 构建错误
【发布时间】:2014-05-08 09:38:10
【问题描述】:

我一直在尝试分配来解决这个问题。我不知道该怎么做,当我想调试项目时遇到以下输出错误。

Execution failed for task ':inspectoratecalculator:dexDebug'.
> com.android.ide.common.internal.LoggedErrorException: Failed to run command:
C:\Users\FlikFlak\AppData\Local\Android\android-studio\sdk\build-tools\android-4.4.2\dx.bat --dex --output 
C:\Users\FlikFlak\AndroidStudioProjects\Inspectorate\inspectoratecalculator\build\dex\debug
C:\Users\FlikFlak\AndroidStudioProjects\Inspectorate\inspectoratecalculator\build\classes\debug 
C:\Users\FlikFlak\AndroidStudioProjects\Inspectorate\inspectoratecalculator\build\dependency-cache\debug 
C:\Users\FlikFlak\AndroidStudioProjects\Inspectorate\inspectoratecalculator\build\pre-dexed\debug\android-support-v4-9fdb020c999e0f186e4aef883e8a4b8676e1e3ac.jar 
C:\Users\FlikFlak\AndroidStudioProjects\Inspectorate\inspectoratecalculator\build\pre-dexed\debug\classes-3cbf09a1ad548c6398f541ca3aae99491954a4cd.jar 
C:\Users\FlikFlak\AndroidStudioProjects\Inspectorate\inspectoratecalculator\build\pre-dexed\debug\support-v4-19.1.0-ce3af6ab4e02f6c952693d6706242484504a4302.jar

Error Code:
    2
Output:
    UNEXPECTED TOP-LEVEL EXCEPTION:
    com.android.dex.DexException: Multiple dex files define Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat$AccessibilityServiceInfoVersionImpl;
        at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:594)
        at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:552)
        at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:533)
        at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:170)
        at com.android.dx.merge.DexMerger.merge(DexMerger.java:188)
        at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:439)
        at com.android.dx.command.dexer.Main.runMonoDex(Main.java:287)
        at com.android.dx.command.dexer.Main.run(Main.java:230)
        at com.android.dx.command.dexer.Main.main(Main.java:199)
        at com.android.dx.command.Main.main(Main.java:103)

----------------------BUILD.GRADLE---- -------------------------------------------

    apply plugin: 'android'

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

}

android {
    compileSdkVersion 19
    buildToolsVersion "19.0.3"

    defaultConfig {
        minSdkVersion 8
        targetSdkVersion 19
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
}

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

compile fileTree(dir: 'libs', include: ['*.jar'])

【问题讨论】:

  • 发布应用模块的 build.gradle 文件。
  • 无论何时使用 android 支持库,都不要将其作为 JAR 包含,而是在 Module Preferences > dependencies > libraries 中选择“Android Support Library”
  • 我在上面添加了built.gradle。我已经尝试向它添加一些代码并尝试删除一些,但没有成功。

标签: android


【解决方案1】:

如@rupps 所述,从您的项目/模块 jar 目录中删除 v4 JAR 文件。还要从配置中删除您的“排除”部分。因为您使用的是 appcompat-v7 依赖项,您将通过 Maven 自动获取 v4 支持库。

【讨论】:

    【解决方案2】:

    这可能是因为您在构建项目期间多次引用了相同的 jar,可能是该 jar 已包含其他模块或库模块。请仔细检查并确保此情况不存在。

    我们之前也遇到过这种问题。

    【讨论】:

      【解决方案3】:

      我不确定你和我有同样的问题,但我的问题是我使用 JDK 1.8 编译代码,android dx 工具不支持。

      修复方法是在 Project 的 Module Settings 中将 SDK 路径从 1.8 更改为 1.7 JDK。

      Mac 中的详细配置请参考: https://stackoverflow.com/a/24680375/1043032

      【讨论】:

        猜你喜欢
        • 2015-05-10
        • 2018-09-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-11-12
        • 2016-03-01
        相关资源
        最近更新 更多