Android Studio执行失败,因为任务':app:preDexDebug'

时间:2014-11-14 23:15:48

标签: android build android-studio android-gradle

这种奇怪的行为发生在我的构建应用程序中。

奇怪的是这个com.nineoldandroids是一个来自android资源库的jar。

我试图删除构建源并重新编译而没有运气。

我的构建:

buildscript {
    repositories {
        maven { url 'http://download.crashlytics.com/maven' }
    }

    dependencies {
        classpath 'com.crashlytics.tools.gradle:crashlytics-gradle:1.+'
    }
}
apply plugin: 'com.android.application'
apply plugin: 'crashlytics'

repositories {
    maven { url 'http://download.crashlytics.com/maven' }
}

android {
    compileSdkVersion 21
    buildToolsVersion "20.0.0"

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    defaultConfig {
        applicationId "xxxxxxxx"
        minSdkVersion 14
        targetSdkVersion 21
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        debug {
            // enable crashlytics where you need
            buildConfigField "boolean", "USE_CRASHLYTICS", "false"
            ext.enableCrashlytics = false
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile project(':library_refreshaction_appcompat')
    compile project(':EnhancedListView')
    compile project(':library_numberpicker')
    compile project(':materialDesign')
    compile project(':library_typeface')
    compile project(':library_updatechecker')
    compile 'com.android.support:appcompat-v7:21.0.0'
    compile 'com.android.support:support-v4:21.0.0'
    compile 'com.crashlytics.android:crashlytics:1.+'
    compile 'se.emilsjolander:stickylistheaders:2.5.0'
    compile files('libs/Parse-1.7.1.jar')
    compile files('libs/BixolonPrinter.jar')
    compile files('libs/bolts-android-1.1.3.jar')
    compile files('libs/core-3.1.0.jar')
    compile files('libs/gson-2.2.4.jar')
    compile files('libs/universal-image-loader-1.9.2.jar')
    compile files('libs/VposAPI.jar')
    compile project(':android-support-v4-preferencefragment-master')
}

错误日志:

Error:Execution failed for task ':app:preDexDebug'.
> com.android.ide.common.internal.LoggedErrorException: Failed to run command:
    /Users/Marcus/Downloads/adt-bundle-mac-x86_64-20140702/sdk/build-tools/21.0.2/dx --dex --output /Users/Marcus/Workspace/android-pdv/app/build/intermediates/pre-dexed/debug/library-2.4.0-c0bb3fabf202a58f481b22d99eb3ba9b89fd232d.jar /Users/Marcus/.gradle/caches/modules-2/files-2.1/com.nineoldandroids/library/2.4.0/e9b63380f3a242dbdbf103a2355ad7e43bad17cb/library-2.4.0.jar
  Error Code:
    139

3 个答案:

答案 0 :(得分:5)

由@zapl Cannot build android project using Android Studio - Gradle 1.7链接,这是一种奇怪的行为,并没有一种解决方法,正如本文所述。

我无法准确地说出我要解决的问题,因为我尝试了很多东西,直到它消失了。

但正如帖子中所述,这就是方法:

  • 格式错误的资源(缺少属性,错误标签等)
  • 样式
  • 中的
  • + id
  • 重复的资源/库
  • 声明样式缺少名称
  • 资源未命中,尝试使用不同的AAPT版本。

未知,像我一样。所以它会有用:

  1. 找到一种方法来确定此错误的真正原因
  2. 等待AAPT的更新,返回一些错误消息
  3. 列出可能的常见原因列表。

答案 1 :(得分:2)

我遇到了同样的问题,只需重新启动Android Studio即可修复。

我只能猜测原因,但我认为这是因为我在我的模拟器启动时启动了我的应用程序。

答案 2 :(得分:0)

好像你已经安装了build-tools 21.0.2,但你在gradle buildTootlsVersion中使用了20.0.0 您还定义了repositories两次,只需要在第一个gradle块中使用它。

尝试更改构建工具版本。