首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android NDK - JNI - HAL

Android NDK - JNI - HAL
EN

Stack Overflow用户
提问于 2015-07-02 21:18:01
回答 1查看 2.2K关注 0票数 3

在Android NDK项目中,我们需要使用HAL接口访问蓝牙。我们的意图是这样做:

代码语言:javascript
复制
#include <hardware/hardware.h>
#include <hardware/bluetooth.h>
....

void load_Module(....)
{ 
hw_module_t* module;
hw_device_t* device;

bdt_log("Loading HAL lib + extensions");

err = hw_get_module(BT_HARDWARE_MODULE_ID, (hw_module_t const**)&module);
if (err == 0){
    err = module->methods->open(module, BT_HARDWARE_MODULE_ID, &device);
    if (err == 0) {
        bt_device = (bluetooth_device_t *)device;
        sBtInterface = bt_device->get_bluetooth_interface();
    }
  }
}

似乎每个人都在做同样的事情(在google示例代码中)。当我们尝试编译时,似乎有一个问题:

代码语言:javascript
复制
#include <hardware/hardware.h> no such file

我们在Android.mk中正确地添加了一个权限来声明并正确地添加库

我们需要添加更多的东西吗?有没有我可以参考的工作项目?

EN

回答 1

Stack Overflow用户

发布于 2015-07-03 05:53:51

您正在尝试在Android NDK项目中使用libhardware。libhardware是Android框架的一部分,不是NDK的一部分。

https://github.com/android/platform_hardware_libhardware

因此,如果您可以使用libhardware构建您的项目,那么您的项目就不具备Android的真正二进制兼容性。它可以在一些设备,一些版本上工作,但不能保证。

根据我的经验,我相信你可以在AOSP上构建你的代码。您需要修改AOSP的Android.mk,而不是NDK。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31185747

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档