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