Android Studio 构建错误

Posted

技术标签:

【中文标题】Android Studio 构建错误【英文标题】:Android Studio build Errors 【发布时间】: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。我已经尝试向它添加一些代码并尝试删除一些,但没有成功。 【参考方案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://***.com/a/24680375/1043032

【讨论】:

以上是关于Android Studio 构建错误的主要内容,如果未能解决你的问题,请参考以下文章

如何修复 Windows 10 上的 Android Studio adb 错误?

Android Studio 构建错误

如何在 Xamarin (Visual Studio) 中构建 XAP 文件

Android Studio 3.6.3 - 拍照时相机错误:打开失败:ENOENT(没有这样的文件或目录)

ExtAudioRecorder:“写入失败:EBADF(错误文件描述符)”将音频录制到 WAV 文件 - Android Studio

Android Studio - 无法找到请求目标的有效认证路径