错误现象
在项目中应用高德地图的api显示地图时,发现地图是个黑块,无法显示.
并且报错:
No implementation found for void com.autonavi.ae.gmap.GLMapEngine.nativeInitParam(java.lang.String, java.lang.String, java.lang.String, java.lang.String)
No implementation found for void com.autonavi.amap.mapcore.AMapNativeRenderer.nativeDrawLineInit()
No implementation found for void com.autonavi.ae.gmap.GLMapEngine.nativeInitParam(java.lang.String, java.lang.String, java.lang.String, java.lang.String)
No implementation found for void com.autonavi.amap.mapcore.AMapNativeRenderer.nativeDrawLineInit()
解决方案
发现是在引入高德地图的依赖库的时候,只拷贝了.jar文件,没有拷贝.so文件,将demo中libs文件夹里的所有文件都拷贝过来以后问题解决了
原因分析
初步分析应该是jar只是对函数的索引,并非实现,而so文件,即动态链接库,才是真正对函数的实现,所有需要都拷贝过来才行.
在项目中应用高德地图API时遇到地图显示为黑块的问题,错误提示涉及到多个native方法未找到。问题的根源在于仅引入了.jar文件,缺少了.so动态链接库。解决方案是确保将demo中的.libs文件夹内所有文件,包括.so文件,一并导入到项目中,从而解决函数实现缺失的问题。
6545

被折叠的 条评论
为什么被折叠?



