天天看点

Android应用使用百度定位SDK 返回error code : 162 latitude : 4.9E-324 lontitude : 4.9E-324

在使用百度定位SDK时遇到一个非常郁闷的问题

照着百度SDK使用文档,分别将.jar文件与.so文件放入libs根目录与libs\armeabi目录下

[img]http://dl2.iteye.com/upload/attachment/0089/1216/5be15aa4-6668-332b-b137-0ca3b9c04b75.png[/img]

程序运行中得到的location对象值是error code : 162 latitude : 4.9E-324 lontitude : 4.9E-324。

花了很长时间检查调用部分、权限配置部分均没没有错误。

在入口activity中加入了段测试程序,看.so文件是否能加载

[img]http://dl2.iteye.com/upload/attachment/0089/1222/b9d0e408-2241-37be-9aa3-23287f16ce45.png[/img]

结果报了a.lang.UnsatisfiedLinkError: Couldn't load locSDK3: findLibrary returned null错误。确认是.so文件未能加载

网上搜到有人说“请检查你写的应用是否使用了JNI,如果有使用,一般你的工程libs文件夹下面会多出一个armeabi-v7a文件夹,这时把你的.so文件拷贝到这里面一份。”我应用下没有用到JNI所以libs下也干干净净没有armeabi-v7a文件夹。

随后我就自己建了个armeabi-v7a文件夹将.so文件拷贝进去,clean项目,在跑了一遍,成功!

写出来供大家参考,希望大家不要重蹈覆辙。