当前位置: 首页 > 知识库问答 >
问题:

Android NDK访问本机蓝牙功能bluedroid

满才
2023-03-14

我想看看我可以使用JNI和Android NDK访问哪些本机蓝牙功能。我尝试了两种不同的方法:使用预构建的。所以,还是建立我自己的。至于使用预构建的。所以我拉了libbluetooth\u jni。因此,使用adb拉离三星Galaxy S4。然而,我找不到这个的源代码(bluetooth_jni.c??)在线,无法识别任何可访问的功能。

其次,我试图从
https://android.googlesource.com/platform/external/bluetooth/bluedroid/
下载Bluedroid的源代码,但是,我在构建这个时遇到了麻烦。

当前,当我尝试运行ndk build时,我收到以下错误:
未定义引用“android\u log\u print”
未定义引用“socket\u local\u client\u connect”
未定义引用“str\u parms\u destroy”

我在这行中添加了:
LOCAL\u LDLIBS:=-llog
,它消除了第一个错误。然而,我不知道如何摆脱其他人。

谁能给我一些建议,如何编译或以其他方式获得一个。那么为了访问本机蓝牙功能??

共有1个答案

微生景胜
2023-03-14

libBluedroid特定于某些硬件;在三星S4上,您会发现不同的蓝牙库。如果您需要超越公共蓝牙API,您可能找不到共同点。

正如@Chris在评论中解释的那样,你们面临的另一个问题是,这些库不能在应用程序环境中工作。它们被设计为使用具有特殊权限的媒体服务器。

关于具体的参考文献,在libcutils.so最近关于这个非公共库的讨论就在这里。

 类似资料:
  • jd.readBLECharacteristicValue(Object object) 读取低功耗蓝牙设备的特征值的二进制数据值。注意:必须设备的特征值支持 read 才可以成功调用。 参数名 类型 默认值 必填 说明 deviceId string 是 蓝牙设备 id serviceId string 是 蓝牙特征值对应服务的 uuid characteristicId string 是 蓝牙

  • 本文向大家介绍Android实现蓝牙聊天功能,包括了Android实现蓝牙聊天功能的使用技巧和注意事项,需要的朋友参考一下 蓝牙,时下最流行的智能设备传输数据的方式之一,通过手机app和智能设备进行连接,获取设备上的测量数据,我们生活中随处可见的比如蓝牙智能手环,蓝牙电子秤,蓝牙心电测量设备等等。 本篇我将紧接着上篇结尾所写,一起来看下手机之间如何通过蓝牙实现文字聊天。 先贴出上篇的一些demo;

  • 我是为iOS设备开发的新手。我是苹果的长期用户,今年Spring将完成我的电气工程学士学位。我目前正在为一个设计课程做一个项目,对蓝牙低能耗以及如何在iOS(5和6)中实现它有一些疑问。 首先介绍一下这个项目的背景。我们正在为一座建筑物设计一个占用检测系统。该计划是在整个建筑中,将BLE模块连接到沃尔沃茨。这些设备将与用户的智能手机通信,并向后端系统提供位置信息。我们希望这个系统只需要很少的用户交

  • 我正在开发通过蓝牙与打印机连接并打印一些文本的应用程序。我可以通过蓝牙连接打印机,然后从BluetoothSocket获取输出流并写一些文本。但它不会用打印机打印任何东西...我仔细检查过,没有例外。请帮帮我我在代码中做错了什么???我使用佳能MX430打印机进行测试...这是我的代码

  • 我必须为Android平板电脑开发一个应用程序,要求将文件打印到蓝牙打印机上。 通过蓝牙打印是我应用程序最重要的功能之一。 我尝试了这个项目和这个项目。 它不工作,也不报告任何错误-不要打印。 蓝牙打印机有什么建议吗?

  • 获取手机蓝牙开启状态, 未授权时先授权再check 示例代码 Swift: RokidMobileSDK.binder.enableBLE() Objc: [RokidMobileSDK.binder enableBLE]; 在 SDKBinderObserver 实现类中的 onBLEEnabled() 函数 获取蓝牙开启状态。 Swift: // 手机蓝牙状态变更,用户是开起来了蓝牙功能