缘起开发一个小工具,一个辅助开发LBS软件的调试工具,以后会告诉大家下载地址。
是一个android软件,里面涉及到模拟定位,目前国内有很多地图提供商,那么我采用了百度地图作为工具。用来设置当前的经纬度。然后其他地图软件获取这个值,达到调试的功能。
百度和高德比较好搞定,腾讯地图真是太特么的变态了,提供的全是接口,而且代码都混淆了,完全hook不住,这是体现了腾讯很封闭的老传统。
但是毕竟你要提供定位功能给大家用,就不可能纯interface,那么里面有个工具类,这个就是解决问题的关键,也是喜悦的关键。 对于Android上的Xposed框架来说,只要你敢实例化,我就敢hook,所以问题就是这样解决的,hook住了一个工具类,然后开始一层一层的hook响应的方法,再利用Java反射机制,得到需要的接口实现类。
这个代码很抽象,那么实际效果是什么呢: 这是工具软件的界面: 目前我人在北京,把定位设置在天津站了
滴滴出行(这个软件采用了腾讯地图)获得的定位:
好了,大概就是这样了。 期待实用的小开发工具登场吧。
Comments