本文介绍了顶级异常应用程序:dexDebug --dex -no-optimize --output android studio的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在将我的 Android 代码从 Eclipse 迁移到 Android Studio,但遇到以下错误.该项目构建良好并与 gradle 同步,但在编译时抛出以下错误.

意外的顶级异常:错误:任务 ':app:dexDebug' 执行失败.

com.android.ide.common.internal.LoggedErrorException:无法运行命令:/home/Work/adt-bundle-linux-x86-20130729/sdk/build-tools/21.1.2/dx --dex --no-optimize --output/home/Work/Roadblock/Android Studio Projects New/app/build/intermediates/dex/debug --input-list=/home/Work/Roadblock/Android Studio Projects New/app/build/intermediates/tmp/dex/debug/inputList.txt错误代码:2输出:意外的顶级例外:com.android.dex.DexException:多个dex文件定义了Landroid/support/v4/view/PagerAdapter;在 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(Main.java:246)在 com.android.dx.command.dexer.Main.main(Main.java:215)在 com.android.dx.command.Main.main(Main.java:106)信息:构建失败信息:总时间:22.183秒

我尝试用 jars 和 library 解决这种错误,甚至尝试插入

配置{all*.exclude 组:'com.android.support',模块:'support-v4'}

当我在支持库中遇到冲突时.但这似乎是构建工具的另一种错误.我尝试检查路径/home/Work/Roadblock/Android Studio Projects New/app/build/intermediates/tmp/dex/debug/inputList.txt 中提到的 inputList.txt 文件,但没有发现任何相关内容,因为它是由系统.

我之前的问题(Android Studio 未检测到支持编译中的库)提供了有关项目结构的详细信息,这似乎是从 build.gradle 中删除配置标记后的错误.我检查了使用的每个文件和库,并删除了可能已多次添加的 jar,但此错误仍然存​​在.

依赖:

应用插件:'com.android.application'安卓 {compileSdkVersion 19构建工具版本21.1.2"默认配置{applicationIdpackage.app"minSdk 版本 8目标SDK版本18}构建类型{释放 {minifyEnabled falseproguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'}}}依赖{编译项目(':facebookSDK')编译项目(':库')编译项目(':newPagerIndicator')编译项目(':pulltorefreshlib')编译项目(':volley')编译'com.android.support:support-v4:19.1.0'编译'com.google.android.gms:play-services:+'编译'com.actionbarsherlock:actionbarsherlock:4.4.0@aar'编译文件('libs/FlurryAnalytics_3.3.3.jar')编译文件('libs/crittercism_v3_2_0_sdkonly.jar')编译文件('libs/httpmime-4.2.5.jar')编译文件('libs/nineoldandroids-2.4.0.jar')编译文件('libs/picasso-2.3.3.jar')编译文件('libs/universal-image-loader-1.8.4.jar')}
解决方案

Android 构建失败 com.android.dex.DexException:多个 dex 文件定义 Landroid/support

exclude as 解决

依赖项{编译文件树(目录:'libs',包括:'*.jar',排除:'android-support-*.jar')//...}

多个 dex 文件定义 Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat 很容易,因为 exclude module: 'support-v4'

示例

依赖项{编译('com.commonsware.cwac:camera-v9:0.5.4'){排除模块:'support-v4'}编译'com.android.support:support-v4:18.0.+'}

(也发布到 Gradle 排除或添加硬包含在库 classes.jar 中的 JAR 文件的引用)

I am migrating my Android code from Eclipse to Android studio and have been stuck at the following error. The project builds fine and syncs with gradle, but it throws the following error on compiling.

UNEXPECTED TOP-LEVEL EXCEPTION:
Error:Execution failed for task ':app:dexDebug'.

I have tried to resolve this kind of error with jars and library and have even tried inserting

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

when I had conflicts in the support library. But this seems to be a different kind of error with the build tools. I tried to checkout the inputList.txt file as mentioned in the path /home/Work/Roadblock/Android Studio Projects New/app/build/intermediates/tmp/dex/debug/inputList.txt but found nothing relevent as it is build by the system.

My earlier question (Android Studio not detecting support libraries on Compilation) provides details about the project structure and this seems to be the error after removing the configurations tag from build.gradle. I checked each of the files and libraries used and removed the jars which might have been added multiple times, but this error still persists.

DEPENDENCIES:

apply plugin: 'com.android.application'

android {
compileSdkVersion 19
buildToolsVersion "21.1.2"

defaultConfig {
    applicationId "package.app"
    minSdkVersion 8
    targetSdkVersion 18
}

buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
    }
    }
}

dependencies {
compile project(':facebookSDK')
compile project(':library')
compile project(':newPagerIndicator')
compile project(':pulltorefreshlib')
compile project(':volley')
compile 'com.android.support:support-v4:19.1.0'
compile 'com.google.android.gms:play-services:+'
compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar'
compile files('libs/FlurryAnalytics_3.3.3.jar')
compile files('libs/crittercism_v3_2_0_sdkonly.jar')
compile files('libs/httpmime-4.2.5.jar')
compile files('libs/nineoldandroids-2.4.0.jar')
compile files('libs/picasso-2.3.3.jar')
compile files('libs/universal-image-loader-1.8.4.jar')
}
解决方案

In Android build fails over com.android.dex.DexException: Multiple dex files define Landroid/support

Solved with exclude as

dependencies {
    compile fileTree(dir: 'libs', include: '*.jar', exclude: 'android-support-*.jar')
    //...
}

and

At Multiple dex files define Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat it easy as exclude module: 'support-v4'

example

dependencies {
    compile('com.commonsware.cwac:camera-v9:0.5.4') {
      exclude module: 'support-v4'
    }

    compile 'com.android.support:support-v4:18.0.+'
}

(also posted to Gradle Exclude or add reference for JAR file hard included inside library classes.jar)

这篇关于顶级异常应用程序:dexDebug --dex -no-optimize --output android studio的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-23 05:33