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

Android应用使用百度定位SDK 返回error code : 162 latitude : 4.9E-324 lontitude : 4.9E-324
在使用百度定位SDK时遇到一个非常郁闷的问题,下载官网的demo运行没问题,按照官网的步骤操作写了定位程序,但是运行后发现程序运行中得到的location对象值是

error code : 162 latitude : 4.9E-324 lontitude : 4.9E-324。

于是百度了下,网上的实例基本都是用eclipse,而现在基本上都是用Android Studio了,但是大意弄明白了,就是liblocSDK6.so这个库文件没有加载成功,但是对比我的工程和官方demo的工程没什么区别,又在网上找到说如果程序中使用了jni技术,那么需要在libs下创建个armeabi-v7a的目录,并把.so文件拷进去(这是eclipse下的设置),但是我用的android studio ,并且我程序中没有用到jni啊,想不明白。

先试验一遍,android studio下面设置是在main文件夹下创建一个jniLibs文件夹,然后在这个文件夹下创建armeabi-v7a文件夹,并把.so文件拷进去

运行后通过,能成功定位。神奇!

后来才发现,我的程序中不仅用了百度定位的SDK,还用了百度推送的SDK,而设置的百度推送的SDK是使用了JNI技术的。。。

原文地址:https://www.cnblogs.com/evilKing/p/4802605.html