Flutter迁移至mapmyindia_gl遇重复类依赖错误求助
解决MapMyIndia GL迁移中的重复类构建错误
问题原因
两个依赖模块(jetified-mapmyindia-android-gestures-0.0.1-runtime 和 jetified-mapmyindia-android-gestures-flutter-0.0.1-runtime)包含完全相同的com.mapmyindia.sdk.gestures类,导致构建时冲突。
解决方案
1. 排除重复依赖
在应用级build.gradle文件中,给mapmyindia_gl依赖添加排除规则,移除其中一个重复的gestures模块:
dependencies { // 其他依赖... implementation 'com.mapmyindia.sdk:mapmyindia-gl:X.X.X' { exclude group: 'com.mapmyindia.sdk', module: 'mapmyindia-android-gestures' } }
如果是Flutter项目,也可以在pubspec.yaml中通过gradle配置传递排除规则:
flutter: # 其他配置... android: gradle: dependencies: implementation('com.mapmyindia.sdk:mapmyindia-gl:X.X.X') { exclude group: 'com.mapmyindia.sdk', module: 'mapmyindia-android-gestures' }
2. 清理构建缓存
执行以下命令清理Flutter和Android构建缓存,避免残留缓存干扰:
flutter clean rm -rf android/.gradle android/build ios/Pods ios/Podfile.lock flutter pub get cd android && ./gradlew clean
3. 确认依赖树
运行Android Gradle依赖树命令,检查重复依赖是否已被移除:
cd android && ./gradlew app:dependencies
搜索com.mapmyindia.sdk.gestures,确保只存在一个版本的依赖。
4. 调整包版本(可选)
如果排除依赖后仍有问题,可尝试将mapmyindia_gl降级到无依赖冲突的版本,或等待官方修复后升级至最新版。
验证
完成上述步骤后,执行flutter run或Android构建操作,确认构建错误消失,项目正常运行。
内容的提问来源于stack exchange,提问作者Amjad Ali
相关产品推荐
相关产品推荐

