Android Studio 链接蓝牙库

1, 下载头文件
最新的android使用bluedroid蓝牙库。而研究的androhid使用的是bluez蓝牙库。到bluez下载了一个,里面的目录结构和文件都不一样。搜了半天,搜到android的bluez。
git clone https://android.googlesource.com/platform/external/bluetooth/bluez

2, 拷贝到ndk中
将下载下来的bluez\lib\bluetooth目录拷贝到ndk目录android-ndk-r10d\platforms\android-21\arch-xxx\usr\include\里面.
6个目录都拷,不然编不过去,忒坑了.
还要将android\src\system\core\include\cutils目录拷到ndk目录里面,与上面相同,6个都要拷。

在build.gradle中, ndk部分,  添加目标架构的filter
     ndk {
         moduleName "nativebt"

        ldLibs "log""z""m"  (???)

        abiFilters "armeabi""armeabi-v7a"
     }
 

编译出来的目录就剩下两个armeabi, armeabi-v7a
对应ndk中使用到的include目录就只有一个了arch-arm.

编译通过.

下一步是链接libbluetooth.so库,  唉,  望天长叹,  我去哪里找一个.so库咧!


嗯, 将bluez源码下载下来一看, 所谓的libbluetooth.so只有4个源文件。 索性不找了, 将4个源文件一块拷到工程里, 一起编译, 过了!
bluetooth.c
hci.c
sdp.c
uuid.c





























你可能感兴趣的:(Android Studio 链接蓝牙库)