Caused by: java.lang.UnsatisfiedLinkError: Couldn't load BaiduMapVOS_v2_1_3: findLibrary returned null
在使用百度地图的时候碰到了这问题 网上搜了下各类方法 都不顶用 我想死的心都有了。。有没有碰到过这问题的 求分享下经验啊。。。。。。。。
java
后来看了百度地图sdk的demo之后,是由于有一个文件 liblocSDK.so,必须放在 libs/armeabi 目录下。将其对应的liblocSDK.so拷到相应的目录下,问题完美解决了。问题是完美解决了,可这个liblocSDK.so文件是什么样的东东了。后来查了一下资料之后:web
so文件便是动态连接,在可执行文件装载时或运行时,由操做系统的装载程序加载库。大多数操做系统将解析外部引用(好比库)做为加载过程的一部分。在这些系统上,可执行文件包含一个叫作import directory的表,该表的每一项包含一个库的名字。根据表中记录的名字,装载程序在硬盘上搜索须要的库,而后将其加载到内存中预先不肯定的位置,以后根据加载库后肯定的库的地址更新可执行程序。可执行程序根据更新后的库信息调用库中的函数或引用库中的数据。这种类型的动态加载成为装载时加载 ,被包括Windows和Linux的大多数系统采用。装载程序在加载应用软件时要完成的最复杂的工做之一就是加载时连接。 即至关于windows的dll文件。你连一个程序的dll文件没有了,你程序确定跑不起来。windows
经过这次经历,我对相应的so文件有了一个深入的认识。函数