任务 ':app:preDexDebug' 的 Android Studio 执行失败 [英] Android Studio Execution failed for task ':app:preDexDebug'
问题描述
这种奇怪的行为发生在我的构建应用程序中.
奇怪的是,这个com.nineoldandroids是一个来自android资源库的jar.
我尝试删除构建源并重新编译,但没有成功.
我的 buildgradle:
buildscript {存储库{maven { url 'http://download.crashlytics.com/maven' }}依赖{类路径 'com.crashlytics.tools.gradle:crashlytics-gradle:1.+'}}应用插件:'com.android.application'应用插件:'crashlytics'存储库{maven { url 'http://download.crashlytics.com/maven' }}安卓 {compileSdkVersion 21构建工具版本20.0.0"编译选项{sourceCompatibility JavaVersion.VERSION_1_8targetCompatibility JavaVersion.VERSION_1_8}默认配置{applicationId "xxxxxxxx"minSdk 版本 14目标SDK版本21版本代码 1版本名称1.0"}构建类型{释放 {runProguard 假proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'}调试{//在需要的地方启用 crashlyticsbuildConfigField "boolean", "USE_CRASHLYTICS", "false"ext.enableCrashlytics = false}}}依赖{编译文件树(目录:'libs',包括:['*.jar'])编译项目(':library_refreshaction_appcompat')编译项目(':EnhancedListView')编译项目(':library_numberpicker')编译项目(':materialDesign')编译项目(':library_typeface')编译项目(':library_updatechecker')编译'com.android.support:appcompat-v7:21.0.0'编译'com.android.support:support-v4:21.0.0'编译'com.crashlytics.android:crashlytics:1.+'编译 'se.emisjolander:stickylistheaders:2.5.0'编译文件('libs/Parse-1.7.1.jar')编译文件('libs/BixolonPrinter.jar')编译文件('libs/bolts-android-1.1.3.jar')编译文件('libs/core-3.1.0.jar')编译文件('libs/gson-2.2.4.jar')编译文件('libs/universal-image-loader-1.9.2.jar')编译文件('libs/VposAPI.jar')编译项目(':android-support-v4-preferencefragment-master')}
错误日志:
错误:任务:app:preDexDebug"的执行失败.>com.android.ide.common.internal.LoggedErrorException:无法运行命令:/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/230adb340b34b34b34b34b34b34b34b34b34b34b34b34b34b34b34b34adb34b34b34b34b34b34b34b34b34b34b34b34b34b34b34b34b34b34b34b34b34b34b34b34b34b34b34b34b34b34b32fd232d.jar0.jar错误代码:139
Aslinked by @zapl 无法使用 Android Studio - Gradle 1.7 构建 android 项目,这是一种奇怪的行为,它没有只有一种方法可以解决,如本文所述.>
我无法确切说出我做了什么来解决它,因为我尝试了很多方法直到它消失.
但正如帖子中所说,这是这样的:
- 格式错误的资源(缺少属性、错误的标签等...)
- +id 样式
- 重复的资源/库
- Declare-Style 可缺少的名称
- 资源不匹配,请尝试使用不同的 AAPT 版本.
未知,就像我的一样.所以这将是有用的:
- 找到一种方法来确定此错误的真正原因
- 等待 AAPT 更新返回一些错误消息
- 写下可能的常见原因列表.
This strange behavior is happenning with my build application.
The strange is that this com.nineoldandroids is a jar that is from android resource libraries.
I have tried to delete build source and recompile again without luck.
My buildgradle:
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 Log:
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
As linked by @zapl Cannot build android project using Android Studio - Gradle 1.7, it is a strange behaviour that doesn't have only one way to solve it, as related by this post.
I couldn't say exactly what I did to solve it, because I tried many things until it disappeared.
But as said in the post, this is the way:
- Malformed Resources (Missing attributes, wrong tags, etc...)
- +id in Styles
- Duplicated resources / libraries
- Declare-Style able missing name
- Resource miss-match, try to use different AAPT versions.
Unknown, like mine. So it would be useful to:
- Find a way to identify the real cause of this error
- Wait for an update to AAPT that returns some error message
- Write a list of possible common causes.
这篇关于任务 ':app:preDexDebug' 的 Android Studio 执行失败的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!