Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Android上构建libloc_api_Android_Android Ndk - Fatal编程技术网

在Android上构建libloc_api

在Android上构建libloc_api,android,android-ndk,Android,Android Ndk,我想从Android源代码构建libloc_api.so,这样我就可以使用本地gps函数了 源代码位于hardware/qcom/gps/loc_api/libloc_api文件夹中,但我不熟悉如何在不构建整个源代码树的情况下构建其中一个模块 有人知道我将如何构建libloc\u api模块吗?您不需要构建.so文件,这样您就可以链接它了。从设备获取库是可以的,例如 adb pull /system/lib/libloc_api.so devicelib/libloc_api.so 现在,您的

我想从Android源代码构建
libloc_api.so
,这样我就可以使用本地gps函数了

源代码位于
hardware/qcom/gps/loc_api/libloc_api
文件夹中,但我不熟悉如何在不构建整个源代码树的情况下构建其中一个模块


有人知道我将如何构建
libloc\u api
模块吗?

您不需要构建.so文件,这样您就可以链接它了。从设备获取库是可以的,例如

adb pull /system/lib/libloc_api.so devicelib/libloc_api.so
现在,您的Android.mk应该将-Ldevicelib-llocapi添加到本地的ldlib中

请注意,此库是特定于设备的,如果您尝试将其加载到不基于Quallcom Snapdragon SoC的设备上,您的应用程序将失败


但更重要的是,除非您在根设备上工作,否则此库是无用的,因为生产手机只允许访问GPS硬件和系统服务。所有应用程序都通过这项服务使用GPS(以及其他硬件,如照相机、视频编解码器),使用NDK实现本机并不能避免这一限制。

谢谢您的回答。我曾经能够创建一个gps设备并获得一个GpsInterface实例,但现在我正试图了解如何使用接口可用的方法打印NMEA消息。你知道我该怎么做吗?恐怕你需要一个根设备和一些权限调整来获得一个正常运行的实例。我很想弄错。我使用的是根设备,如果需要,我可以更改权限。我只是不熟悉如何使用硬件抽象层和与gps接口相关的回调函数。有线索吗?。。。但我的回答解决了最初的问题,不是吗?我相信,如果你接受这个答案并提出一个关于“在一个有根的Android设备上使用libloc_api来获取原始NMEA消息”的新问题,或者你的意思是接受它并发表一篇新文章,这可能会提高你的声誉?