在使用百度定位SDK的时候,明明已经加入了liblocSDK3.so,Manifest中也添加了相应权限,注册了com.baidu.location.f服务。但总是无法定位。提示错误java.lang.UnsatisfiedLinkError: Couldn’t load locSDK3: findLibrary returned null.

2cf5e0fe9925bc312b9b17435edf8db1ca137022
2cf5e0fe9925bc312b9b17435edf8db1ca137022

根据错误提示是无法找到locSDK3这个库,但是又明明在armeabi中加入了liblocSDK3.so。被这个问题困扰了很久。在做NDK开发的时候,NDK编译的so有时会在armeabi和armeabi-v7a中分别放置一份。突然想到上面的错误是不是也是因为这个原因。

然后在项目的libs目录下新建一个文件夹,命名为armeabi-v7a,然后将liblocSDK3.so复制一份到该文件夹。

libBMapApiEngine
libBMapApiEngine

再次运行项目,发现错误已经解决。