有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java重复类生成错误

提前感谢您的帮助
我有一个在firebase上存储大部分数据的应用程序,但出于成本原因,将视频存储到AWS s3存储中。今天我遇到了这些构建错误

  1. 是的,我已经阅读了“修复依赖项解决错误”的建议
  2. 我的问题是如何解决这个问题

以下是我的gradle文件中的依赖项:

dependencies {
    // Support for Java 8 features
    coreLibraryDesugaring 'com.安卓.tools:desugar_jdk_libs:1.1.1'

    // Firestore
    //implementation platform('com.google.firebase:firebase-bom:26.1.0')
    implementation 'com.google.firebase:firebase-firestore:22.1.0'
    implementation 'com.google.firebase:firebase-storage:19.2.1'

    // FirebaseUI (for authentication)
    implementation 'com.google.firebase:firebase-auth:20.0.2'
    implementation 'com.firebaseui:firebase-ui-auth:7.1.0'

    // Other Firebase/Play services
    implementation 'com.google.安卓.gms:play-services-auth:19.0.0'
    implementation 'com.google.firebase:firebase-messaging:21.0.1'

    // Support Libs
    implementation '安卓x.appcompat:appcompat:1.2.0'
    implementation '安卓x.constraintlayout:constraintlayout:2.0.4'
    implementation '安卓x.vectordrawable:vectordrawable-animated:1.1.0'
    implementation '安卓x.cardview:cardview:1.0.0'
    implementation '安卓x.browser:browser:1.3.0'
    implementation 'com.google.安卓.material:material:1.3.0'
    implementation '安卓x.multidex:multidex:2.0.1'
    implementation '安卓x.recyclerview:recyclerview:1.1.0'

    // Android architecture components
    implementation '安卓x.lifecycle:lifecycle-runtime:2.3.0'
    implementation '安卓x.lifecycle:lifecycle-extensions:2.2.0'

    // ExoPlayer
    implementation 'com.google.安卓.exoplayer:exoplayer-core:2.12.0'
    implementation 'com.google.安卓.exoplayer:exoplayer-ui:2.12.0'

    // Third-party libraries
    implementation 'me.zhanghai.安卓.materialratingbar:library:1.4.0'
    implementation 'com.github.bumptech.glide:glide:4.11.0'
    implementation 'org.jetbrains:annotations:15.0'
    implementation '安卓x.navigation:navigation-fragment:2.3.3'
    implementation '安卓x.navigation:navigation-ui:2.3.3'
    implementation '安卓x.lifecycle:lifecycle-livedata-ktx:2.3.0'
    implementation '安卓x.lifecycle:lifecycle-viewmodel-ktx:2.3.0'
    implementation '安卓x.legacy:legacy-support-v4:1.0.0'
    implementation 'com.itextpdf:itext7-core:7.0.2'

    // Amplify core dependency
    implementation 'com.amplifyframework:core:1.16.13'
    implementation 'com.amplifyframework:aws-storage-s3:1.16.13'
    implementation 'com.amplifyframework:aws-auth-cognito:1.16.13'

    // AWS
    implementation platform('com.amazonaws:aws-java-sdk-bom:1.11.0')
    implementation 'com.amazonaws:aws-java-sdk-s3'
    implementation 'com.amazonaws:aws-java-sdk:1.11.404'
}

下面是一些错误

Duplicate class com.amazonaws.AbortedException found in modules jetified-aws-安卓-sdk-core-2.22.1-runtime (com.amazonaws:aws-安卓-sdk-core:2.22.1) and jetified-aws-java-sdk-core-1.11.404 (com.amazonaws:aws-java-sdk-core:1.11.404)
Duplicate class com.amazonaws.AmazonClientException found in modules jetified-aws-安卓-sdk-core-2.22.1-runtime (com.amazonaws:aws-安卓-sdk-core:2.22.1) and jetified-aws-java-sdk-core-1.11.404 (com.amazonaws:aws-java-sdk-core:1.11.404)
Duplicate class com.amazonaws.AmazonServiceException found in modules jetified-aws-安卓-sdk-core-2.22.1-runtime (com.amazonaws:aws-安卓-sdk-core:2.22.1) and jetified-aws-java-sdk-core-1.11.404 (com.amazonaws:aws-java-sdk-core:1.11.404)
Duplicate class com.amazonaws.AmazonServiceException$ErrorType found in modules jetified-aws-安卓-sdk-core-2.22.1-runtime (com.amazonaws:aws-安卓-sdk-core:2.22.1) and jetified-aws-java-sdk-core-1.11.404 (com.amazonaws:aws-java-sdk-core:1.11.404)
Duplicate class com.amazonaws.AmazonWebServiceClient found in modules jetified-aws-安卓-sdk-core-2.22.1-runtime (com.amazonaws:aws-安卓-sdk-core:2.22.1) and jetified-aws-java-sdk-core-1.11.404 (com.amazonaws:aws-java-sdk-core:1.11.404)
Duplicate class com.amazonaws.AmazonWebServiceRequest found in modules jetified-aws-安卓-sdk-core-2.22.1-runtime (com.amazonaws:aws-安卓-sdk-core:2.22.1) and jetified-aws-java-sdk-core-1.11.404 (com.amazonaws:aws-java-sdk-core:1.11.404)
Duplicate class com.amazonaws.AmazonWebServiceResponse found in modules jetified-aws-安卓-sdk-core-2.22.1-runtime (com.amazonaws:aws-安卓-sdk-core:2.22.1) and jetified-aws-java-sdk-core-1.11.404 (com.amazonaws:aws-java-sdk-core:1.11.404)
Duplicate class com.amazonaws.ClientConfiguration found in modules jetified-aws-安卓-sdk-core-2.22.1-runtime (com.amazonaws:aws-安卓-sdk-core:2.22.1) and jetified-aws-java-sdk-core-1.11.404 (com.amazonaws:aws-java-sdk-core:1.11.404)
Duplicate class com.amazonaws.DefaultRequest found in modules jetified-aws-安卓-sdk-core-2.22.1-runtime (com.amazonaws:aws-安卓-sdk-core:2.22.1) and jetified-aws-java-sdk-core-1.11.404 (com.amazonaws:aws-java-sdk-core:1.11.404)
Duplicate class com.amazonaws.HttpMethod found in modules jetified-aws-安卓-sdk-core-2.22.1-runtime (com.amazonaws:aws-安卓-sdk-core:2.22.1) and jetified-aws-java-sdk-core-1.11.404 (com.amazonaws:aws-java-sdk-core:1.11.404)
Duplicate class com.amazonaws.Protocol found in modules jetified-aws-安卓-sdk-core-2.22.1-runtime (com.amazonaws:aws-安卓-sdk-core:2.22.1) and jetified-aws-java-sdk-core-1.11.404 (com.amazonaws:aws-java-sdk-core:1.11.404)
Duplicate class com.amazonaws.Request found in modules jetified-aws-安卓-sdk-core-2.22.1-runtime (com.amazonaws:aws-安卓-sdk-core:2.22.1) and jetified-aws-java-sdk-core-1.11.404 (com.amazonaws:aws-java-sdk-core:1.11.404)

共 (2) 个答案

  1. # 1 楼答案

    您当前使用的是两个相互冲突的产品:

    AWS Amplify Android

    implementation 'com.amplifyframework:core:1.16.13'
    implementation 'com.amplifyframework:aws-storage-s3:1.16.13'
    implementation 'com.amplifyframework:aws-auth-cognito:1.16.13'
    

    还有AWS Java SDK V1

    implementation platform('com.amazonaws:aws-java-sdk-bom:1.11.0')
    implementation 'com.amazonaws:aws-java-sdk-s3'
    implementation 'com.amazonaws:aws-java-sdk:1.11.404'
    

    AWS移动团队不支持在Android设备上使用V1 Java SDK。首先,我将完全删除这些依赖项

    请遵循本文档了解Amplify Android的车载存储功能:

    https://docs.amplify.aws/lib/storage/getting-started/q/platform/android

    资料来源:我是AWS移动团队的工程师

  2. # 2 楼答案

    implementation platform('com.amazonaws:aws-java-sdk-bom:1.11.0')
    

    这一个提供了2.22.1版本的aws java sdk以满足以下请求

    implementation 'com.amazonaws:aws-java-sdk-s3'
    

    这一个从上面请求s3和核心sdk的2.22.1版本

    implementation 'com.amazonaws:aws-java-sdk:1.11.404' 
    

    这一个提供了aws java sdk的所有1.11.404版本,包括s3和core,因此这就是发生重复类的地方

    另见documentation