您的位置:首页 > 其它

百度定位sdk Couldn't load locSDK3 from loader dalvik

2014-08-23 11:38 375 查看
在反复测试的过程中,程序有时候总会有奇葩问题,昨天晚上刚越到个百度定位的问题,查了好久的log, 发现是“Couldn't Couldn't
load locSDK3 from loader dalvik

重点Log:

ActivityManager( 528): Activity idle: Token{426f00d0 ActivityRecord{42553f80 u0
04-30 20:58:39.704 V/ActivityManager( 528): Stopping ActivityRecord{42607ab8 u0 com.oppo.launcher/.Launcher}: nowVisible=false waitingVisible=true finishing=false
04-30 20:58:39.704 V/ActivityManager( 528): Stopping ActivityRecord{424d56a0 u0 com.android.settings/.Settings$InputMethodAndLanguageSettingsActivity}: nowVisible=false waitingVisible=true finishing=false
04-30 20:58:39.704 V/ActivityManager( 528): Stopping ActivityRecord{42582a28 u0 com.android.browser/.BrowserActivity}: nowVisible=false waitingVisible=true finishing=false
04-30 20:58:39.706 W/System.err( 1451): java.lang.UnsatisfiedLinkError:
Couldn't load locSDK3 from loader dalvik.system.PathClassLoader[DexPathList[dexElements=[zip file "/data/app/xxx-1.apk"],nativeLibraryDirectories=[/data/app-lib/xxx-1, /vendor/lib, /system/lib]]]:
findLibrary returned null
04-30 20:58:39.707 W/System.err( 1451):
at java.lang.Runtime.loadLibrary(Runtime.java:359)
04-30 20:58:39.707 W/System.err( 1451):
at java.lang.System.loadLibrary(System.java:514)
04-30 20:58:39.707 W/System.err( 1451):
at com.baidu.location.Jni.<clinit>(Unknown Source)
04-30 20:58:39.707 W/System.err( 1451):
at com.baidu.location.ae.a(Unknown Source)
04-30 20:58:39.707 W/System.err( 1451):
at com.baidu.location.ae.a(Unknown Source)
04-30 20:58:39.707 W/System.err( 1451):
at com.baidu.location.f.a(Unknown Source)
04-30 20:58:39.707 W/System.err( 1451):
at com.baidu.location.ad.handleMessage(Unknown Source)
04-30 20:58:39.707 W/System.err( 1451):
at android.os.Handler.dispatchMessage(Handler.java:99)
04-30 20:58:39.707 W/System.err( 1451):
at android.os.Looper.loop(Looper.java:153)
04-30 20:58:39.708 W/System.err( 1451):
at android.app.ActivityThread.main(ActivityThread.java:5320)
04-30 20:58:39.708 W/System.err( 1451):
at java.lang.reflect.Method.invokeNative(Native Method)
04-30 20:58:39.708 W/System.err( 1451):
at java.lang.reflect.Method.invoke(Method.java:511)....

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





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

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





再次运行项目,发现错误已经解决。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐