为了找到android上gps定位的实现以及“Location.getAccuracy”精度算法的实现,阅读源码,记录一下步骤如下:
因为是做gps相关应用产生的疑问以及好奇,所以当然是由上而下,从java应用层找突破口,然后顺藤摸瓜经由framework进入jni,最后找到HAL层,大致是这么个过程。
有一篇文章写得不错,借鉴一下,给了我很多帮助:
Android 系统中 Location Service 的实现与架构
另外这篇文章只说到HAL层,并没有得到疑问中的第二个答案,即精度算法是否是在android源码中实现,所以我将尝试继续往下找
找到一个关键词hor_unc_circular,这就是float accuracy,接着找到loc_api_common.h、loc_api_common_xdr.c 其中关于XDR、RPC的一些知识在下面这篇文章中有所体现:
RPC外部数据表示(XDR)
最后找到均在loc_eng.cpp中实现
迁移自CSDN
2015年10月14日 18:15:15
http://blog.csdn.net/u013262051/article/details/49128677