【发布时间】:2014-02-24 23:19:40
【问题描述】:
我正在尝试查看使用 JNI 和 Android NDK 可以访问哪些原生蓝牙功能。我尝试了两种不同的方法:使用预构建的 .so 或构建我自己的。至于使用预建的 .so,我已经使用 adb pull 将 libbluetooth_jni.so 从三星 Galaxy S4 中拉出。但是,我在网上找不到这个(bluetooth_jni.c??)的源代码,也无法识别任何可访问的功能。
其次,我尝试从
https://android.googlesource.com/platform/external/bluetooth/bluedroid/下载bluedroid的源代码
但是,我在构建它时遇到了麻烦。
目前,当我尝试运行 ndk-build 时,出现以下错误:
未定义对“__android_log_print”的引用
未定义对“socket_local_client_connect”的引用
未定义对“str_parms_destroy”的引用
我添加到这一行:
LOCAL_LDLIBS := -llog
它摆脱了第一个错误。但是,我不确定如何摆脱其他人。
谁能给我一些关于如何编译或以其他方式获取 .so 以访问本机蓝牙功能的建议?
【问题讨论】:
-
您将无法在典型的安全消费设备上做很多有用的事情,因为您无法获得绕过堆栈并直接与蓝牙芯片对话的权限。
标签: android bluetooth android-ndk