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"  (???)
android

        abiFilters "armeabi""armeabi-v7a"
     }
 
git

編譯出來的目錄就剩下兩個armeabi, armeabi-v7a
對應ndk中使用到的include目錄就只有一個了arch-arm.

編譯經過.

下一步是連接libbluetooth.so庫,  唉,  望天長嘆,  我去哪裏找一個.so庫咧!


嗯, 將bluez源碼下載下來一看, 所謂的libbluetooth.so只有4個源文件。 索性不找了, 將4個源文件一塊拷到工程裏, 一塊兒編譯, 過了!
bluetooth.c
hci.c
sdp.c
uuid.c

架構

相關文章
相關標籤/搜索