项目中集成了高德地图,之前测试都是好好的,突然出现地图不能用的情况,而且是三星手机可用,华为 小米手机存在问题。断点调试后发现 mMapView.getMap() 返回的 aMap 为null,跟进代码
public AMap getMap() {
IMapFragmentDelegate var1 = this.getMapFragmentDelegate();
IAMap var3;
try {
var3 = var1.getMap();
} catch (Throwable var2) {
return null;
}
if(var3 == null) {
return null;
} else {
if(this.b == null) {
this.b = new AMap(var3);
}
return this.b;
}
}
发现下面这段代码没有执行
if(this.b == null) {
this.b = new AMap(var3);
}
最终导致返回的值为 null
于是猜测可能是手机CPU架构不同导致找不到对应的so库引起,于是去官网下载最新的jar包和so库引入,问题得到解决,哎。。。