Android Studio添加MapView到布局时无法解析该类如何解决
Android Studio MapView类无法解析报错解决方案
报错截图:
排查解决步骤
- 确认已引入对应地图服务的SDK依赖
MapView不属于Android原生系统组件,必须引入你使用的地图服务商提供的SDK才可正常识别,打开项目build.gradle(Module层级)文件,在dependencies代码块中添加对应依赖:
例:Google Maps依赖参考
使用高德、百度等其他地图服务的,替换为对应厂商提供的SDK依赖即可。implementation 'com.google.android.gms:play-services-maps:18.2.0' - 检查布局文件中MapView的全限定类名
布局中不能直接写<MapView>标签,需要填写对应SDK的完整类路径,不同服务商的全类名参考:- Google Maps:
com.google.android.gms.maps.MapView - 高德地图:
com.amap.api.maps.MapView - 百度地图:
com.baidu.mapapi.map.MapView
正确的标签写法示例:
<com.google.android.gms.maps.MapView android:id="@+id/mapView" android:layout_width="match_parent" android:layout_height="match_parent"/> - Google Maps:
- 同步并重建项目
依赖添加完成后,点击Android Studio右上角的Sync Project with Gradle Files按钮同步项目配置,同步完成后如果仍有报错,依次执行Build → Clean Project、Build → Rebuild Project清理缓存后重新编译即可。 - 检查混淆配置
如果你开启了代码混淆,需要在proguard-rules.pro文件中添加对应地图SDK的防混淆规则,避免MapView类被混淆后无法识别,规则可直接在对应地图服务商的官方开发文档中获取。
内容的提问来源于stack exchange,提问作者erenjeager
相关产品推荐
相关产品推荐

