Android4.2藍牙學習環境搭建

題記:

由於我是用的公司的開發環境(repo源在公司server上,編譯環境也是之前就搭上了),所以沒有自己在手機上做過藍牙系統級的開發,所以以下的環境的搭建可能並不是很靠譜。
對於只需要看看文章,看看源代碼,並不需要在機器上調試藍牙系統的朋友,不需要看編譯源代碼這一章,下載源代碼也只需要/external/bluetooth/bluedroid和/packages/apps/Bluetooth就可以了(下載地址:http://pan.baidu.com/s/1j6ys9)
對於有條件可以在真機上做藍牙系統開發的朋友,則需要編譯Android系統源代碼,但是不需要燒系統和Kernel,因爲Android4.2的藍牙已經都在應用層了。

下載源代碼

雖然這個已經有無數的文章在介紹了,但是爲了完整,還是得寫。

這裏官方的源碼下載方式是用Google的repo工具下載,我本人嘗試了幾次之後,決定是放棄這樣的下載方式,因爲我的網絡太差了,每次下了一半天就不動,所以去找了一個提供打包下載Android源碼的地址,總算把源碼下下來了(由於我用的那個下載地址目前已經不能用了,所以也不提供了)。

以下是Ubuntu下下載Android4.2源碼的方法(注:並沒經過本人測試,只是按照官方給的方法轉載的

參考:http://source.android.com/source/downloading.html

1.創建目錄

mkdir ~/android_source/
mkdir ~/bin/

2.下載git

$ sudo apt-get install git-core gnupg

3.下載repo

$ curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
$ chmod a+x ~/bin/repo

4.初始化工作目錄(主要是下載repo utils和manufests.xml)

repo init -u https://android.googlesource.com/platform/manifest -b android-4.2.2_r1
這裏的android-4.2.2_r1是Branch的名字,可以從https://android.googlesource.com/platform/manifest/+refs找到所有的branch,下載自己需要的版本。

5.下載代碼

repo sync

接下來是漫長的等待。


如果其他還差什麼工具,就根據錯誤提示,去搜索一下,然後下載吧。

編譯源代碼

這一步不是非做不可,如果只是想分析學習Android藍牙的話,其實只看源代碼也是可以的,但是如果能夠通過實作的編譯Bluedroid,拿到Android裏面去調試,也許更好。
參考

1.下載編譯工具集

1、安裝各種工具集
$ sudo apt-get install flex bison gperf libsdl-dev libesd0-dev build-essential
2、安裝JDK
$ sudo add-apt-repository ppa:ferramroberto/java
$ sudo apt-get update
$ sudo apt-get install sun-java6-jre sun-java6-plugin
$ sudo apt-get install sun-java6-jdk

2.編譯Android

參考:http://source.android.com/source/building-running.html

$ source build/envsetup.env
$ lunch full-eng
$ m -j[x]  (x根據你CPU有幾個核來決定,我是8核,就是m -j8)

PS:你可以不用編譯整個Android系統,可以直接
cd packages/apps/Bluetooth; mm
cd externel/bluetooth/bluedroid; mm
但是還是得等很久,因爲Bluetooth.apk需要依賴Android的framework才能編譯。

更新編譯好的東東

由於我們只是做藍牙開發,所以改動都在應用層上的,主要會修改到兩個程序:
/system/app/Bluetooth.apk
/system/lib/hw/bluetooth.default.so
所以,大家在有Root權限的手機上,直接
adb push Bluetooth.apk /system/app/Bluetooth.apk
adb push bluetooth.default.so /system/lib/hw/bluetooth.default.so
就可以了,然後重啓Bluetooth.apk或者重啓系統。

閱讀源代碼的工具

1、在Linux上讀代碼的經典組合:
$ sudo apt-get install vim ctags cscope

具體怎麼用,就Google一下吧。

2、windows的話就安裝一個source insight吧,很好用,但需要注意的是,不要把所有Android代碼都導入到project裏面去,只導入/external/bluetooth/bluedroid和/packages/apps/Bluetooth/就可以了

另外,Linux也可以用source insight,用wine裝,建議如果確實對Linux使用不熟悉的朋友,還是在windows下裝虛擬機學習。


發佈了39 篇原創文章 · 獲贊 50 · 訪問量 13萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章