错误:任务执行失败':app:packageAllDebugClassesForMultiDex'java.util.zip.ZipException:重复项:com / amazonaws / auth / [英] Error:Execution failed for task ':app:packageAllDebugClassesForMultiDex' java.util.zip.ZipException: duplicate entry: com/amazonaws/auth/
问题描述
我正在尝试在我的项目中使用Amazon AWS服务。我已经添加了依赖关系;该项目建立良好。
当我在手机上运行应用程序时,出现以下错误:
错误:执行任务失败:app :packageAllDebugClassesForMultiDex。
> java.util.zip.ZipException:重复条目:com / amazonaws / auth / NoOpSigner.class
当我启用 multiDexEnabled true
时发生错误。
$ b 没有
multiDexEnabled true
错误更改为: 错误:任务':app:dexDebug'的执行失败。
> com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException:进程'命令'C:\程序文件\Java\jdk1.7.0_79\bin\java.exe' '完成非零退出值2
这是我的gradle文件:
'apply plugin:'com.android.application''
android {
compileSdkVersion 23
buildToolsVersion23.0.1
dexOptions {
preDexLibraries = true
}
defaultConfig {
applicationIdcom.example.chris.camerayoutube
minSdkVersion 15
targetSdkVersion 23
versionCode 1
versionName1.0
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'),'proguard-rules.pro'
}
}
}
依赖关系{
testCompile'juni t:junit:4.12'
compile'com.android.support:multidex:1.0.1'
compile'com.android.support:support-v4:+'
compile'com.android.support:design:23.1.1'
compile'com.amazonaws:aws-android-sdk-s3:2. +'
compile' com.amazonaws:aws-android-sdk-sqs:2. +'
compile'com.amazonaws:aws-android-sdk-core:2. +'
compile'com.amazonaws:aws- android-sdk-cognito:2. +'
compile'com.amazonaws:aws-java-sdk-core:1.10.52'
}
$ c $对于android AWS sdk AFAIK,它不需要 com.amazonaws:aws-> java-sdk-core:1.10.52
需要附加的库,因为对于android来说,从amazon github源文件中找到的是针对android独立库的文件。检查这个链接
对于android来说,需要 com.amazonaws:aws-android-sdk-core:2.2.12
这已经是儿童图书馆 com.amazonaws:aws-android-sdk-cognito:2。+
, com.amazonaws:aws-android-sdk-sqs: 2。+
您已经连接。
如何检查依赖关系/层次结构?
执行以下命令: gradlew app:dependencies
_releaseApk - ##内部使用,请勿手动配置##
+ --- com.android .support:support-v4:+ - > 23.1.1
| \ --- com.android.support:support-annotations:23.1.1
+ --- com.android.support:design:23.1.1
| + --- com.android.support:appcompat-v7:23.1.1
| | \ --- com.android.support:support-v4:23.1.1(*)
| + --- com.android.support:recyclerview-v7:23.1.1
| | + --- com.android.support:support-annotations:23.1.1
| | \ --- com.android.support:support-v4:23.1.1(*)
| \ --- com.android.support:support-v4:23.1.1(*)
+ --- com.android.support:multidex:1.0.1
+ --- com。 amazonaws:aws-android-sdk-s3:2. + - > 2.2.12
| \ --- com.amazonaws:aws-android-sdk-core:2.2.12
| \ --- com.google.code.gson:gson:2.2.4
+ --- com.amazonaws:aws-android-sdk-core:2. + - > 2.2.12(*)
+ --- com.amazonaws:aws-android-sdk-sqs:2. + - > 2.2.12
| \ --- com.amazonaws:aws-android-sdk-core:2.2.12(*)
\ --- com.amazonaws:aws-android-sdk-cognito:2. + - > 2.2.12
\ --- com.amazonaws:aws-android-sdk-core:2.2.12(*)
标记为(*)的重复子库。你可以删除,如果你也是外部连接的(比如你的gradle support-v4
你已经连接了它已经在设计库中,并且和 aws- android-sdk-core
)。
AFAIK com.amazonaws:aws-java-sdk-core:1.10。 52
将不需要用于android-sdk。
让我知道如果删除 java-sdk-core
核心& Java核心有相同的类,这就是为什么它给出错误的重复条目
删除 com.amazonaws:aws-java-sdk-core:1.10 .52
你也可以删除multidex选项,因为它不需要(方法数变得小于65k)
让我知道是否有任何问题。
I am trying to use Amazon AWS services with my project. I have added in the dependencies; the project builds fine.
When I run the application on my phone I get this error:
Error:Execution failed for task ':app:packageAllDebugClassesForMultiDex'.
> java.util.zip.ZipException: duplicate entry: com/amazonaws/auth/NoOpSigner.class
This error occurred when I enabled multiDexEnabled true
.
Without the multiDexEnabled true
the error changes to:
Error:Execution failed for task ':app:dexDebug'.
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.7.0_79\bin\java.exe'' finished with non-zero exit value 2
Here is my gradle file:
'apply plugin: 'com.android.application''
android {
compileSdkVersion 23
buildToolsVersion "23.0.1"
dexOptions{
preDexLibraries = true
}
defaultConfig {
applicationId "com.example.chris.camerayoutube"
minSdkVersion 15
targetSdkVersion 23
versionCode 1
versionName "1.0"
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
testCompile 'junit:junit:4.12'
compile 'com.android.support:multidex:1.0.1'
compile 'com.android.support:support-v4:+'
compile 'com.android.support:design:23.1.1'
compile 'com.amazonaws:aws-android-sdk-s3:2.+'
compile 'com.amazonaws:aws-android-sdk-sqs:2.+'
compile 'com.amazonaws:aws-android-sdk-core:2.+'
compile 'com.amazonaws:aws-android-sdk-cognito:2.+'
compile 'com.amazonaws:aws-java-sdk-core:1.10.52'
}
解决方案 For android AWS sdk AFAIK it wont required com.amazonaws:aws-java-sdk-core:1.10.52
library to be attached because for android from the amazon github source what i found is for android seperate libraries are availble.check this link
For android this one is needed com.amazonaws:aws-android-sdk-core:2.2.12
which is already child library of com.amazonaws:aws-android-sdk-cognito:2.+
, com.amazonaws:aws-android-sdk-sqs:2.+
which you have already attached.
How to check Dependency/hierarchy ?
execute this command : gradlew app:dependencies
You will have output like below
_releaseApk - ## Internal use, do not manually configure ##
+--- com.android.support:support-v4:+ -> 23.1.1
| \--- com.android.support:support-annotations:23.1.1
+--- com.android.support:design:23.1.1
| +--- com.android.support:appcompat-v7:23.1.1
| | \--- com.android.support:support-v4:23.1.1 (*)
| +--- com.android.support:recyclerview-v7:23.1.1
| | +--- com.android.support:support-annotations:23.1.1
| | \--- com.android.support:support-v4:23.1.1 (*)
| \--- com.android.support:support-v4:23.1.1 (*)
+--- com.android.support:multidex:1.0.1
+--- com.amazonaws:aws-android-sdk-s3:2.+ -> 2.2.12
| \--- com.amazonaws:aws-android-sdk-core:2.2.12
| \--- com.google.code.gson:gson:2.2.4
+--- com.amazonaws:aws-android-sdk-core:2.+ -> 2.2.12 (*)
+--- com.amazonaws:aws-android-sdk-sqs:2.+ -> 2.2.12
| \--- com.amazonaws:aws-android-sdk-core:2.2.12 (*)
\--- com.amazonaws:aws-android-sdk-cognito:2.+ -> 2.2.12
\--- com.amazonaws:aws-android-sdk-core:2.2.12 (*)
Duplicate child library marked as a (*) . You can remove if you are also attaching externally(like in your gradle support-v4
you have attached which is already in design library and same like aws-android-sdk-core
).
AFAIK com.amazonaws:aws-java-sdk-core:1.10.52
won't needed for android-sdk.
Let me know if any class or anything missing after removing java-sdk-core
both android-core & java-core have same class thats why it gives error regarding duplicate entry
By removing com.amazonaws:aws-java-sdk-core:1.10.52
you can also remove multidex option as it wont needed (method count became less thn 65k)
Let me know if anything.
这篇关于错误:任务执行失败':app:packageAllDebugClassesForMultiDex'java.util.zip.ZipException:重复项:com / amazonaws / auth /的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!