在Android上构建libloc_api

时间:2012-10-13 04:32:17

标签: android android-ndk

我想从Android源代码构建libloc_api.so,以便我可以使用原生gps函数。

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

有谁知道我将如何构建libloc_api模块?

1 个答案:

答案 0 :(得分:2)

您无需构建 .so 文件,以便可以对其进行链接。可以从设备中获取库,例如

adb pull /system/lib/libloc_api.so devicelib/libloc_api.so

现在您的 Android.mk 应该将 -Ldevicelib -lloc-api 添加到LOCAL_LDLIBS。

请注意,此库是特定于设备的,如果您尝试在不基于Quallcom Snapdragon SoC的设备上加载它,您的应用将会失败。

但更重要的是,除非您在root设备上工作,否则这个库是无用的,因为生产电话只允许访问GPS硬件到系统服务。所有应用程序都通过此服务使用GPS(以及其他硬件,如相机,视频编解码器),而使用NDK的原生则无法避免此限制。