本文介绍了错误:任务执行失败':app:packageAllDebugClassesForMultiDex'java.util.zip.ZipException:重复项:com / amazonaws / auth /的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试在我的项目中使用Amazon 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 /的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-23 04:56
查看更多