我做的一个项目里用到了百度地图的定位功能,之前已经实现了,最近在研究一个开源的IM框架android端,导入部分代码后意外发现
百度地图的定位功能居然失效了!
我检查了一下:
(1)权限写了
(2)manifest里面百度service和meta-data写了,申请的key也没错
(3)application需要修改的地方也是对的
(3)location参数设置正确
我最后甚至重新建了一个同样包名的项目进行测试,发现可以获取数据,那总结下来很有可能是导入的IM代码有问题,但是IM的代码我还没引用,那么就很有可能是架包的问题
然后我发现libs下有armeabi和armeabi-v7a两个文件夹,后来去网上查才知道(以下是引用):
armeabi与armeabi-v7a表示支持不同的CPU类型
armeabi是指的该so库用于ARM的通用CPU,而v7a的CPU支持硬件浮点运算。因此armeabi通用性强,但速度慢,而v7a能充分发挥v7a CPU的能力,在AIR打包APK调试模式adobe选择的是通用性强的armeabi模式。
android支持不同CPU的深层含义
首先从硬件支持方便来看,我们的adnroid设备目前为止大部分都是支持ARM芯片,(当然市面上此刻最新的android机器还支持intel等另外的几个芯片,例如intel最新的凌动项目芯片,就获得了android4.1的青睐)。从android版本与支持ARM硬件编码的程度来看:
起初android1.6:只支持armv4与armv5te指令集。
到了android2.0:增加了支持arm-vfp,armv6,armv6t2指令集。
到了android2.2:增加支持armv7-a指令集。
所以armeabi-v7a 应该是与AIR限定支持android2.2以上的条件有关。android2.2以上能让硬件发挥更大的作用。
我项目中使用armeabi还是armeabi-v7a
对于AIR项目来说性能问题是最大的瓶颈,能优化一点就一点,所以如果接平台方SDK或者写ANE的时候使用到SO库,个人推荐全部放到armeabi-v7a下,而不要为了兼容放到armeabi。
综上所述,百度定位是把so库放在armeabi里的,导致定位无效。
为了提高cpu的性能,我把so库都放到armeabi-v7a里面
之后定位功能就恢复了
android 获取不到gps 安卓导航gps无法定位
转载文章标签 android 获取不到gps android 百度地图 armeapi-v7a 百度地图定位失效 文章分类 Android 移动开发
上一篇:less 查看2000行
下一篇:juicessh传文件
-
Android GPS定位及实例 安卓 gps定位
android 定位一般有四种方法,这四种方式分别是:GPS定位,WIFI定准,基站定位,AGPS定位, &nbs
Android GPS定位及实例 基站定位 Android ide -
android gps 获取 安卓获取gps
本文说明了在非互联网环境或者内部局域网环境下,如何获取手机位置的方法。因为在非联网环境下,agps用不了,只能用设备的gps模块进行定位。经过不断的尝试,目前尝试了两种方法都可以。 一、使用高德的定位sdk。 具体参考高德开发网站上的文档就可以了。链接如
android gps 获取 android webview java ide