Android集成AWS API与AppSync服务出现重复类错误求解决方案
问题根因
重复类报错是因为你引入的Amplify相关依赖版本不统一:com.amplifyframework:aws-datastore:1.25.1会自动引入同版本的aws-api-appsync依赖,和你手动引入的低版本com.amplifyframework:aws-api:1.4.0包含同名类,引发冲突。
可行解决方案
方案1(推荐,无兼容风险)
统一所有Amplify依赖的版本号,将build.gradle的dependencies块中Amplify相关依赖全部替换为同版本:
implementation 'com.amplifyframework:core:1.25.1' implementation 'com.amplifyframework:aws-api:1.25.1' implementation 'com.amplifyframework:aws-auth-cognito:1.25.1' implementation 'com.amplifyframework:aws-datastore:1.25.1'
修改完成后执行以下操作清理缓存再构建:
- 打开Android Studio的File菜单,选择Invalidate Caches,勾选清除文件系统缓存和本地历史,重启IDE
- 在项目根目录执行清理命令:
./gradlew clean(Windows系统执行gradlew clean) - 重新同步Gradle并构建项目即可解决冲突
方案2(仅适用于无法升级低版本依赖的场景)
如果因为业务原因必须保留aws-api:1.4.0版本,可以在datastore依赖中排除冲突的aws-api-appsync模块:
implementation ('com.amplifyframework:aws-datastore:1.25.1') { exclude group: 'com.amplifyframework', module: 'aws-api-appsync' }
注意:该方案可能存在接口不兼容的潜在风险,优先使用方案1
内容的提问来源于stack exchange,提问作者Kanishka
相关产品推荐
相关产品推荐

